import java.util.Properties;
import javax.mail.Authenticator;
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 SendToQQMail {
public static void sendMessages() {
try {
//建立Properties 类用于记录邮箱的一些属性
final Properties props = new Properties();
//表示SMTP发送邮件,必须进行身份验证
props.put("mail.smtp.auth", "true");
//此处填写SMTP服务器
props.put("mail.smtp.host", "smtp.qq.com");
//端口号,QQ邮箱给出了两个端口,这里给出587
props.put("mail.smtp.port", "587");
//此处填写你的帐号
props.put("mail.user", "xxx@qq.com");
//此处的密码就是前面说的16位STMP口令
//获取口令请百度
props.put("mail.password", "口令");
//构建受权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 用户名、密码
String userName = props.getProperty("mail.user");
String password = props.getProperty("mail.password");
return new PasswordAuthentication(userName, password);
}
};
//使用环境属性和受权信息,建立邮件会话
Session mailSession = Session.getInstance(props, authenticator);
//建立邮件消息
MimeMessage message = new MimeMessage(mailSession);
//设置发件人
InternetAddress form = new InternetAddress(
props.getProperty("mail.user"));
message.setFrom(form);
//设置收件人的邮箱
InternetAddress to = new InternetAddress("xxx@qq.com");
message.setRecipient(RecipientType.TO, to);
//设置邮件标题
message.setSubject("测试邮件");
String msg = "发送的信息";
//html文件
StringBuilder sb = new StringBuilder();
sb.append("
文本内容
")//设置邮件的内容体
message.setContent(sb.toString(), "text/html;charset=UTF-8");
//最后固然就是发送邮件
Transport.send(message);
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}