1、application.yml配置
1 spring: 2 mail: 3 host: smtp.qq.com 4 username: xxxxxxxxx@qq.com 5 password: ywbjioacvurubcjx 6 properties: 7 mail: 8 smtp: 9 ssl: 10 enable: true
2、发送简单邮件
1 @SpringBootTest 2 class MailApplicationTests { 3 4 @Autowired 5 JavaMailSenderImpl javaMailSender; //用于发送邮件 6 7 @Test 8 void contextLoads() { 9 10 //一个简单邮件 11 SimpleMailMessage simpleMail = new SimpleMailMessage(); 12 simpleMail.setSubject("zym你好"); //邮件主题 13 simpleMail.setText("are you OK?"); //邮件内容 14 simpleMail.setTo("xxxxxxx@qq.com"); //接收者 15 simpleMail.setFrom("xxxxxxxx@qq.com"); //发送者 16 javaMailSender.send(simpleMail); 17 } 18 }
3、发送html邮件
1 @SpringBootTest 2 class MailApplicationTests { 3 4 @Autowired 5 JavaMailSenderImpl javaMailSender; //用于发送邮件 6 7 @Test 8 void contextLoads2() throws MessagingException { 9 10 //一个复杂邮件 11 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); 12 //用MimeMessageHelper组装复杂邮件,第二个参数为true,可以发送附件 13 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); 14 //正文,可以发送html文本,需要第二个参数为true 15 helper.setSubject("zym你好"); 16 helper.setText("<p style='color:red'>春暖花开</p>",true); 17 //附件 18 helper.addAttachment("1.png", new File("C:\Users\admin\Desktop\images\4fa869f4794c4d64918337a2d2def1f3.jpg")); 19 helper.setTo("xxxxxxxxx@qq.com"); //接收者 20 helper.setFrom("xxxxxxxx@qq.com"); //发送者 21 javaMailSender.send(mimeMessage); 22 } 23 }
4、整合thymeleaf
1 @SpringBootTest 2 class MailApplicationTests { 3 4 @Autowired 5 private MailService mailService; 6 7 @Test 8 public void testSend() { 9 String to = "xxxxxxxx@qq.com"; 10 mailService.send(to, "模板邮件", UUID.randomUUID().toString().toUpperCase()); 11 } 12 }
1 @Service 2 public class MailService { 3 @Autowired 4 private JavaMailSender mailSender; 5 6 /** 7 * 用来发送模版邮件 8 */ 9 @Autowired 10 private TemplateEngine templateEngine; 11 12 @Value("${spring.mail.username}") 13 private String from; 14 15 public void send(String to, String subject, String text) { 16 17 Context context = new Context(); 18 context.setVariable("project", "demo"); 19 context.setVariable("author", "yimcarson"); 20 context.setVariable("code", text); 21 String emailContent = templateEngine.process("mail", context); 22 23 MimeMessage message = mailSender.createMimeMessage(); 24 MimeMessageHelper helper = null; 25 try { 26 helper = new MimeMessageHelper(message, true); 27 helper.setFrom(from); 28 helper.setTo(to); 29 helper.setSubject(subject); 30 helper.setText(emailContent, true); 31 } catch (MessagingException e) { 32 e.printStackTrace(); 33 } 34 mailSender.send(message); 35 } 36 }
1 <!DOCTYPE html> 2 <html lang="en" xmlns:th="http://www.thymeleaf.org"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>yimcarson</title> 6 <style> 7 body { 8 text-align: center; 9 margin-left: auto; 10 margin-right: auto; 11 } 12 #main { 13 text-align: center; 14 position: absolute; 15 } 16 </style> 17 </head> 18 <body> 19 <div id="main"> 20 <h3>Welcome <span th:text="${project}"></span> -By <span th:text=" ${author}"></span></h3> 21 Your Verification Code is 22 <h2><span th:text="${code}"></span></h2> 23 </div> 24 </body> 25 </html>