一、创建 JavaMailSenderImpl 对象 sender
//通过sender对象设置邮件相关配置信息
JavaMailSenderImpl sender = new JavaMailSenderImpl();
二、 通过sender对象构建邮件体MimeMessage
(也就是邮件的一些配置信息 以及授权信息)
//创建一个邮件体
MimeMessage mimeMessage = createMineMessage(sender);
createMineMessage方法:
Environment environment = SpringUtils.getBean("environment");
//设置邮件授权信息
public MimeMessage createMineMessage(JavaMailSenderImpl sender) {
//从配置文件中获取配置信息
String demoEmailFrom = environment.getProperty("test.mail.username"); //发件人邮箱
String demoEmailToken = environment.getProperty("test.mail.password");//邮件的凭证(不是密码) 是登录stmp的凭证。就是要在指定的邮箱账号平台开启stmp服务之后或获得一个凭证
String demoEmailHost = environment.getProperty("test.mail.host"); //主机地址 163的为 stmp.163.ocm
sender.setHost(demoEmailHost);//邮箱地址 ""String类型
sender.setUsername(demoEmailFrom);//对应邮箱的用户名""String类型
sender.setPassword(demoEmailToken);//密码""String类型
sender.setDefaultEncoding(StandardCharsets.UTF_8.toString());//邮件编码方式
Properties properties = new Properties();
properties.put("mail.smtp.host:", demoEmailHost);
properties.put("mail.smtp.auth", "javax.net.ssl.SSLSocketFactory");//设置为SSL协议
properties.put("mail.smtp.auth", "false");//是否需要开启邮箱验证
sender.setJavaMailProperties(properties);
return sender.createMimeMessage();
}
三、通过MimeMessageHelper配置邮件内容信息
//第二个参数true表示使用HTML语言来编写邮件
//mimeMessage为上一步创建的邮件体对象
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
//发件人邮件地址(上面获取到的,也可以直接填写,string类型)
helper.setFrom(demoEmailFrom);
//收件人邮件地址
helper.setTo("收件人邮箱");
//抄送自己
helper.setCc(demoEmailFrom);
//邮件主题
helper.setSubject(taskName);
//邮件正文,true表示支持Html语言
helper.setText("XXXX", true);
//使用sennder对象发送邮件 sender(邮件体) => mineMessage(邮件信息)。
sender.send(mimeMessage);