写点什么

Springboot 邮件任务

用户头像
hepingfly
关注
发布于: 2020 年 10 月 03 日
Springboot 邮件任务



先说一下发邮件的过程:



比如现在我有两个账号, heping@qq.com 想要给 fly@163.com 这个账号发送邮件,那么它不是直接给对方发送邮件,而是需要先使用用户名和密码登录 qq 邮箱服务器,和 qq 邮箱服务器建立连接之后,把邮件内容发送到 qq 邮箱服务器。然后由 qq 邮箱服务器把邮件内容发送给 163 邮箱服务器,然后等 fly@163.com 这个用户上线之后,再从 163 服务器获取到邮件内容。



代码实现:

1)、配置文件

application.properties 配置文件

# 发件人的邮箱用户名
spring.mail.username=475916980@qq.com
# 发件人的密码,注意这里是生成的授权码(qq邮箱,设置--账户--生成授权码)
spring.mail.password=pxdzhzinhqzebidb
# 发件人邮箱服务器 host 地址
spring.mail.host=smtp.qq.com
# 如果不配置这个,发送邮件的时候会报 530 错误(意思是需要你配置一个安全的链接)
spring.mail.properties.mail.smtp.ssl.enable=true



2)、测试类



@SpringBootTest
public class TestA {
// 通过注入这个实现类来帮助我们发送邮件
@Autowired
JavaMailSenderImpl mailSender;
@Test
public void test1() {
// 发送简单邮件
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setSubject("开会");
simpleMailMessage.setText("讨论方案");
simpleMailMessage.setTo("hpshen1996@163.com");
simpleMailMessage.setFrom("475916980@qq.com");
mailSender.send(simpleMailMessage);
}
@Test
public void test2() throws Exception{
// 发送复杂邮件
// 创建一个复杂的消息邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 第二个布尔类型参数指定是否需要上传文件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("开会");
// 这里的邮件正文内容可以传一个 html 字符串,通过第二个参数指定是否是 html 文本
helper.setText("<b style='color:red'>讨论方案</b>",true);
helper.setTo("hpshen1996@163.com");
helper.setFrom("475916980@qq.com");
// 上传文件,这里可以 add 多个文件
helper.addAttachment("图片",new File("/Users/hepingfly/Desktop/发邮件的过程.png"));
mailSender.send(mimeMessage);
}
}



发布于: 2020 年 10 月 03 日阅读数: 38
用户头像

hepingfly

关注

视频号:hepingfly 分享干货,欢迎关注~ 2018.06.23 加入

B站程序员。目标是做一个有才华,身上有光的男人。

评论

发布
暂无评论
Springboot 邮件任务