自己写了一个邮件发送的例子,希望对想学这方面的同志有帮助。
代码:
package com._100fly.javamail;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SencMail {
/**
* @param args
* @throws MessagingException
* @throws AddressException
* @throws MessagingException
* @author 100fly
*
*/
public static void main(String[] args) throws AddressException, MessagingException
{
// TODO Auto-generated method stub
// 配置服务器属性
Properties props = new Properties();
// 发邮件协议
props.setProperty("mail.transport.protocol", "smtp");
//设置需要验证(给提供用户名、密码)
props.setProperty("mail.smtp.auth", "true");
//服务器地址
props.setProperty("mail.host", "smtp.163.com");
// 设置smtp端口 (默认)
//props.setProperty("mail.smtp.port", "25");
Session session = Session.getInstance(props,
//返回验证信息的内部类
new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("javamail_test100@163.com","123456");
}
}
);
session.setDebug(true);
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress("javamail_test100@163.com"));
msg.setSubject("JavaMail中文主题");
//多个收件人时 必须用下面的 上面那个方法不行
//msg.setRecipients(RecipientType.TO, InternetAddress.parse("javamail_test100@sohu.com,javamail_test100@126.com"));
msg.setRecipients(RecipientType.TO,new Address[]{new InternetAddress("javamail_test100@126.com"),new InternetAddress("javamail_test100@sohu.com")});
msg.setContent("<span style='color:red'>我是以HTML代码解析出来的</span>", "text/html;charset=gbk");
//没有指定收件人 会在msg里面去找
Transport.send(msg);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
效果看附件图
环境:MyEclispe 8.5 + JDK 1.6