您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用SpringBoot實現QQ郵箱發送郵件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用SpringBoot實現QQ郵箱發送郵件”吧!
使用定制郵件模板的方法實現通用郵件發送,Thymeleaf構建郵件模板需要一起導入依賴。
<!-- Mail --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <!-- thymeleaf模板依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
# Spring配置 spring: mail: host: smtp.qq.com username: ********@qq.com # password是第一步QQ郵箱開通的smtp服務后得到的客戶端授權碼 password: ****************** default-encoding: UTF-8 properties: mail: smtp: auth: true starttls: enable: true required: true #thymeleaf模板引擎配置太簡單,就不貼出來了
public interface IMailService { void sendHtmlMailThymeLeaf(String mailFrom, String mailFromNick, String mailTo, String cc, String subject, String content); }
@Service public class MailServiceImpl implements IMailService { /** * JavaMailSender是Spring Boot在MailSenderPropertiesConfiguration 類中配直好的,該類在 Mail * 自動配置類 MailSenderAutoConfiguration 中導入 因此這里注入 JavaMailSender 就可以使用了 */ @Autowired private JavaMailSender mailSender; @Override public void sendHtmlMailThymeLeaf(String mailFrom, String mailFromNick, String mailTo, String cc, String subject, String content) { MimeMessage mimeMessage = mailSender.createMimeMessage(); try { MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setFrom(new InternetAddress(mailFromNick + " <" + mailFrom + ">")); // 設置多個收件人 String[] toAddress = mailTo.split(","); mimeMessageHelper.setTo(toAddress); if (!StringUtils.isEmpty(cc)) { mimeMessageHelper.setCc(cc); } mimeMessageHelper.setSubject(subject); // 第二個參數為true表示郵件正文是html格式的,默認是false mimeMessageHelper.setText(content, true); mailSender.send(mimeMessage); } catch (MessagingException e) { System.out.println(e); } } }
// 發件人要跟yml配置文件里填寫的郵箱一致 String mailFrom = "******@qq.com"; // 收件人 String mailTo = "******@qq.com,******@qq.com"; // 抄送(可為空) String cc = "******@qq.com"; // 注入mailService @Autowired private IMailService mailService; // 注入TemplateEngine @Autowired TemplateEngine templateEngine; @RequestMapping("/other/test")//請求路徑 @ResponseBody public void testMail() { //注意1:這里我是查詢對應的內容,使用富文本編輯器存儲html標簽的內容 Strategy strategy = strategyService.selectStrategyByStrategyId(Long.valueOf(1)); Context context = new Context(); // 導包是org.thymeleaf.context //注意2:獲取發送的內容傳入thymeleaf模板中 context.setVariable("content", strategy.getStrategyContent()); String content = templateEngine.process("mailTemplate.html", context); //System.out.println(content); mailService.sendHtmlMailThymeLeaf(mailFrom, "定義發件人名字", mailTo, cc, "定義郵件標題", content); System.out.println("郵件發送成功"); }
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>郵件發送</title> </head> <body> <!--使用富文本框包含HTML標簽 使用 th:utext標簽 會解析html,顯示相應的效果--> <div th:utext="${content}">Some escaped text</div> </body> </html>
到此,相信大家對“怎么用SpringBoot實現QQ郵箱發送郵件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。