1.pom.xml中导入xml配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.在application中写邮件相关的配置
server.port=8083
spring.mail.username=xxxxx@qq.com
spring.mail.password=nmnaoddkvvokjddi
spring.mail.host=smtp.qq.com
#如果是qq邮箱需要开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
3.在要调用发送邮件的controller中注入JavaMailSenderImpl
@Resource
JavaMailSenderImpl mailSender;
4.写发送邮件的方法
@Test
void contextLoads() {
//一个简单的邮件
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("这是发给帅星星的邮件");
mailMessage.setText("欢迎学习SpringBootMail");
mailMessage.setFrom("1456321328@qq.com");
mailMessage.setTo("1456321328@qq.com");
mailSender.send(mailMessage);
}
@Test
void contextLoads2() throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
//组装
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true);
//正文
messageHelper.setSubject("帅星星你好呀");
messageHelper.setText("<p style='color:red'>继续努力,你会得到你想要的结果~</p>",true);
URL url = Thread.currentThread().getContextClassLoader().getResource("./img/getqqicon.jpg");
//附件
messageHelper.addAttachment("1.jpg",new File(url.getFile()));
messageHelper.setFrom("1456321328@qq.com");
messageHelper.setTo("1456321328@qq.com");
mailSender.send(mimeMessage);
}
5.发送带附件的方法封装 /** * * @param subject 正文标题 * @param text 正文内容 * @param html 是否使用html格式 * @param file 发送附件文件名 * @param attachmentFilename 发送附件的文件别名 * @param from 发送人邮箱 * @param to 接收人邮箱 * @throws MessagingException */ void sendMail(String subject,String text,Boolean html,String file,String attachmentFilename,String from,String to) throws MessagingException { //一个复杂的邮件 MimeMessage mimeMessage = mailSender.createMimeMessage(); //组装 MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true); //正文 messageHelper.setSubject(subject); messageHelper.setText(text,html); URL url = Thread.currentThread().getContextClassLoader().getResource(file); //附件 messageHelper.addAttachment(attachmentFilename,new File(url.getFile())); messageHelper.setFrom(from); messageHelper.setTo(to); mailSender.send(mimeMessage); }