<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
//Properties 用于读取参数
final Properties pros = new Properties();
//表示SMTP发送邮件,必须进行身份验证
pros.put("mail.smtp.auth", "true");
//此处填写SMTP服务器
pros.put("mail.smtp.host", "smtp.qq.com");
//465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议。
pros.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
//端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587
pros.put("mail.smtp.port", "465");
//此处填写你的账号
pros.put("mail.user", "279444061@qq.com");
//此处的密码就是前面说的16位STMP口令
pros.put("mail.password", "XXXXXXXX");
//Authenticator 连接邮箱时验证用户名和密码用
Authenticator authenticator = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("279444061@qq.com", "nnwuengtcidzbiaj");
}
};
//使用环境属性和授权信息,创建邮件会话
Session mailSession = Session.getInstance(pros, authenticator);
//创建邮件消息
MimeMessage message = new MimeMessage(mailSession);
//设置发件人
InternetAddress form = new InternetAddress("279444061@qq.com");
message.setFrom(form);
//设置收件人的邮箱
InternetAddress to = new InternetAddress("279444061@qq.com");
message.setRecipient(MimeMessage.RecipientType.TO, to);
//设置邮件标题
message.setSubject("测试发送邮件");
//设置邮件的内容体
message.setContent("看测试能发送成功不", "text/html;charset=utf-8");
//最后当然就是发送邮件啦
Transport.send(message);