本文实例为大家分享了SpringBoot实现发送邮件任务的具体代码,供大家参考,具体内容如下
1.pom中引入spring-boot-starter-mail
<dependencies>
<!--邮件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!--web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.假如 张三@qq.com 给 李四@163.com 发送邮件,张三首先要登录自己的邮箱,所以先要配置发送者的账号密码,服务器地址。
注意:第三方登录邮箱的时候,使用的不是邮箱的原本密码,使用的是临时授权码。
以QQ邮箱为例子,打开邮箱!
点击账户
往下拉,全部开启,生成授权码!
全部开启。点击生成授权码!
3.配置application.properties
##发件人邮箱
spring.mail.username=119848xxxx@qq.com
##生成的授权码
spring.mail.password=lojwzgpnrpzmifgg
##QQ的SMIP地址
spring.mail.host=smtp.qq.com
##配置安全连接
spring.mail.properties.mail.smtp.ssl.enable=true
4.在测试类中测试
package com.zyb.task;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;
import javax.mail.internet.MimeMessage;
import java.io.File;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootTaskApplicationTests {
//注入邮件发送器
@Autowired
JavaMailSenderImpl javaMailSender;
/**
* 简单邮件测试
*/
@Test
public void contextLoads1() {
SimpleMailMessage message = new SimpleMailMessage();
message.setText("今晚7点钟开会");
message.setSubject("通知-开会");
//发送者邮箱
message.setFrom("119848xxxx@qq.com");
//发送到哪个邮箱
message.setTo("zyb_xxx@126.com");
javaMailSender.send(message);
}
/**
* 复杂邮件测试
*/
@Test
public void contextLoads2() throws Exception{
//1.创建一个复杂的消息邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//第二个参数 是否需要上传附件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//邮件设置
//这里可以使用html标签样式
helper.setText("<b style='color:red'>今晚7点钟开会</b>",true);
helper.setSubject("通知-开会");
//发送者邮箱
helper.setFrom("119848xxxx@qq.com");
//发送到哪个邮箱
helper.setTo("zyb_xxx@126.com");
//上传附件 附件名,路径
helper.addAttachment("1.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\iphone壁纸\\1.jpg"));
javaMailSender.send(mimeMessage);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。