1.在pom文件中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.以QQ邮箱为例,首先要申请开通POP3/SMTP服务或者IMAP/SMTP服务。SMTP全称为Simple MailTransfer Protocol,译作简单邮件传输协议,它定义了邮件客户端软件与SMTP服务器之间,以及SMTP服务器与SMTP服务器之间的通信规则。
获取QQ邮箱SMTP授权码
elajjm*****dedd
3.配置application.proerties
spring.mail.username=316*****71@qq.com //自己的qq邮箱
spring.mail.password=elaj******edd //邮箱生成的授权码
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtl.ssl.enable=true
4.编写测试类,测试邮件是否发送成功。
@SpringBootTest
class MailTestApplicationTests {
@Autowired
JavaMailSenderImpl javaMailSender;
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setSubject("你好"); //主题
simpleMailMessage.setText("hello word"); //正文
simpleMailMessage.setTo("316*****71@qq.com"); //发件人
simpleMailMessage.setFrom("316*****71@qq.com"); //收件人
javaMailSender.send(simpleMailMessage);
}
@Test
void contextLoads2() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
//主题
helper.setSubject("你好");
//正文
helper.setText("<p style = 'color:red'>SpringBoot邮件任务</p>", true);
//附件
helper.addAttachment("1.jpg", new File("C:\\Users\\ASUS\\Desktop\\1.jpg"));
helper.setTo("316*****71@qq.com"); //发件人
helper.setFrom("316*****71@qq.com"); //收件人
javaMailSender.send(mimeMessage);
}
}