首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring Boot 整合 JavaMail 發送郵件完整配置與模板實戰

     編輯:Java 相關知識

Spring Boot 通過 spring-boot-starter-mail 自動裝配 JavaMailSender。配置 application.yml:

spring:
  mail:
    host: smtp.exmail.qq.com
    port: 465
    username: noreply@example.com
    password: xxx
    protocol: smtps
    properties:
      mail:
        smtp:
          ssl:
            enable: true
          auth: true
          timeout: 5000

發送簡單郵件:

@Autowired JavaMailSender mailSender;
public void sendSimple(String to, String subject, String text) {
    SimpleMailMessage msg = new SimpleMailMessage();
    msg.setFrom("noreply@example.com");
    msg.setTo(to);
    msg.setSubject(subject);
    msg.setText(text);
    mailSender.send(msg);
}

發送 HTML 郵件 (Thymeleaf 模板):

@Autowired TemplateEngine templateEngine;
public void sendHtml(String to, String subject, Context ctx) {
    MimeMessage msg = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(msg, true, "UTF-8");
    helper.setFrom("noreply@example.com");
    helper.setTo(to);
    helper.setSubject(subject);
    String html = templateEngine.process("mail/welcome", ctx);
    helper.setText(html, true);
    mailSender.send(msg);
}

異步發送加 @Async 需啟用 @EnableAsync 配置線程池。大量發送建議接入專業郵件服務 (SendGrid, Amazon SES) 或使用消息隊列削峰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved