此次发送邮箱一共用到了一个jar
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
代码如下,把发送人邮箱地址、授权码以及收件人邮箱地址更换后就可以正常用了
package com.example.security.zmain.emailMain;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.*;
/**
* 群发邮箱
*/
public class GroupSendEmail {
public static void main(String[] args) throws MessagingException, MessagingException {
Properties props = new Properties();
// 开启debug调试
props.setProperty("mail.debug", "true");
// 发送服务器需要身份验证
props.setProperty("mail.smtp.auth", "true");
// 设置邮件服务器主机名 qq邮箱就是smtp.qq.com
props.setProperty("mail.host", "smtp.163.com");
// 发送邮件协议名称
props.setProperty("mail.transport.protocol", "smtp");
// 设置环境信息
Session session = Session.getInstance(props);
// 创建邮件对象
Message msg = new MimeMessage(session);
//标题
msg.setSubject("验证码");
// 设置邮件内容
//不带样式的内容
msg.setText("你的验证码为:"+UUID.randomUUID());
//设置带样式的内容
//msg.setContent("<H1>你的验证码为111:</H1>"+UUID.randomUUID(), "text/html;charset=utf-8");
// 设置发件人
msg.setFrom(new InternetAddress("发送人邮箱@163.com"));
Transport transport = session.getTransport();
// 连接邮件服务器
String username = "发送人邮箱@163.com";//发送邮箱账号
String userpassword = "邮箱授权码";//发送邮箱密码 这个不是邮箱的密码 ,这个是邮箱stmp服务的授权码
transport.connect(username, userpassword);
// 发送邮件 两种方式 收件人邮箱没有限制,什么邮箱都可以
// transport.sendMessage(msg, new Address[] {new InternetAddress("邮箱@qq.com"),new InternetAddress("邮箱@qq.com")});
transport.sendMessage(msg, InternetAddress.parse("收件人邮箱@qq.com,收件人邮箱@qq.com"));
// 关闭连接
transport.close();
}
}