中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用SpringBoot實現QQ郵箱發送郵件

發布時間:2022-01-04 19:59:41 來源:億速云 閱讀:390 作者:iii 欄目:開發技術

本篇內容主要講解“怎么用SpringBoot實現QQ郵箱發送郵件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用SpringBoot實現QQ郵箱發送郵件”吧!

1.獲取QQ郵箱授權碼

怎么用SpringBoot實現QQ郵箱發送郵件

2.導入郵箱發送依賴啟動器

使用定制郵件模板的方法實現通用郵件發送,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>

3.配置文件yml添加郵件服務配置

# 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模板引擎配置太簡單,就不貼出來了

4.編寫接口IMailService

public interface IMailService {
    void sendHtmlMailThymeLeaf(String mailFrom, String mailFromNick, String mailTo, String cc, String subject, String content);
}

5.編寫實現MailServiceImpl

@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);
        }

    }
}

6.Controller調用

    // 發件人要跟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("郵件發送成功");
    }

7.thymeleaf模板 mailTemplate.html

<!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郵箱發送郵件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松原市| 上高县| 延吉市| 建瓯市| 临沭县| 彭州市| 曲水县| 洛川县| 琼海市| 霍山县| 临西县| 东乡族自治县| 贡嘎县| 垦利县| 龙泉市| 屏东市| 芒康县| 舟山市| 元阳县| 新巴尔虎左旗| 怀来县| 亳州市| 汕尾市| 离岛区| 微山县| 梧州市| 石门县| 剑川县| 米易县| 鄢陵县| 德兴市| 松原市| 新干县| 宝坻区| 北辰区| 康乐县| 广元市| 霞浦县| 图木舒克市| 灵武市| 南阳市|