最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java實現(xiàn)QQ郵箱發(fā)送工具類

 更新時間:2023年12月17日 10:52:43   作者:大白貓~  
我們在日常開發(fā)中,需要實現(xiàn)一個對郵箱的發(fā)送,今天就實現(xiàn)郵箱的發(fā)送工具類,只需要一些注冊郵箱之后的配置即可,感興趣的小伙伴可以了解下

我們在日常開發(fā)中,需要實現(xiàn)一個對郵箱的發(fā)送,今天就實現(xiàn)郵箱的發(fā)送工具類,只需要一些注冊郵箱之后的配置即可,我這邊使用的是qq郵箱

0.加上依賴

<!--郵箱-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

1.配置yml文件

需要到官網(wǎng)上去注冊,鏈接地址:https://mail.qq.com/

spring:                         # Spring Boot應用程序配置的根節(jié)點
   mail:                        # 郵件相關配置
    username:                   # 你自己的QQ郵箱的用戶名,需要填寫你的QQ郵箱地址
    password:                   # 你自己的QQ郵箱的密鑰/密碼,需要填寫你的QQ郵箱登錄密碼
    host: smtp.qq.com            # SMTP服務器主機名,這里設置為QQ郵箱的SMTP服務器
    port: 465                   # SMTP服務器端口,通常情況下使用SSL的SMTP協(xié)議使用465端口
    protocol: smtp              # 使用SMTP協(xié)議發(fā)送郵件
 
    properties:                 # 郵件相關的屬性配置
      mail:                     # 郵件協(xié)議屬性配置
        smtp:                   # SMTP協(xié)議屬性配置
          ssl:                  # SSL/TLS屬性配置
            enable: true         # 啟用SSL,表示使用加密傳輸郵件
          auth: true             # 啟用SMTP身份驗證,需要提供用戶名和密碼
          starttls:             # STARTTLS屬性配置,用于在未加密連接上啟用TLS
            enable: true        # 啟用STARTTLS
            required: true      # 要求必須使用STARTTLS
          socketFactory:        # Socket工廠屬性配置,用于SSL連接
            port: 465           # SSL連接的端口,與SMTP服務器的端口一致
            class: javax.net.ssl.SSLSocketFactory  # 使用的Socket工廠類,通常用于SSL連接
 
# 請確保填寫你自己的QQ郵箱地址和密碼,以及確保QQ郵箱允許使用SMTP服務來發(fā)送郵件

2.寫一個發(fā)送郵箱工具類

@Component
public class MailUtil {
 
    private static MailUtil INSTANCE = new MailUtil();
 
    @Resource
    JavaMailSender mailSender;
 
    @Resource
    JavaMailSender javaMailSender;
 
    @PostConstruct
    public void init(){
        INSTANCE.mailSender = mailSender;
    }
 
    /**
     * 發(fā)送簡單郵件
     *
     * @param subject 主題
     * @param content 內(nèi)容
     * @param from 發(fā)件人
     * @param to      收件人
     */
    public void sendSimpleMail(String subject,String content,String from,String[] to){
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from);
        message.setTo(to);
        // 主題
        message.setSubject(subject);
        // 郵件正文
        message.setText(content);
        message.setSentDate(new Date());
        // 發(fā)送郵件
        INSTANCE.mailSender.send(message);
    }
    public void sendMimeMail(String subject,String content,String from,String[] to) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        // 構(gòu)建一個郵件對象
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        // 設置郵件主題
        helper.setSubject(subject);
        // 設置郵件發(fā)送者,這個跟application.yml中設置的要一致
        helper.setFrom(from);
        helper.setTo(to);
        // 設置郵件發(fā)送日期
        helper.setSentDate(new Date());
        // 設置郵件的正文 true:是html文件
        helper.setText(content,true);
        // 發(fā)送郵件
        javaMailSender.send(mimeMessage);
    }
 
}

3.編寫controller控制器接口

@RestController
@Api(tags = "郵箱發(fā)送")
@RequestMapping("/mail")
public class MailServlet {
    @Resource
    private MailUtil mailUtil;
 
    @PostMapping("/to")
    @ApiOperation("發(fā)送郵件")
    @ApiImplicitParams({@ApiImplicitParam(name = "subject", value = "郵件主題"), @ApiImplicitParam(name = "content", value = "郵件內(nèi)容")
            , @ApiImplicitParam(name = "from", value = "發(fā)送郵件的QQ郵箱"), @ApiImplicitParam(name = "to", value = "要發(fā)送到的QQ郵箱,用,隔開")})
    public R to(String subject, String content, String from, String to) {
        String[] split = to.split(",");
        try {
            mailUtil.sendSimpleMail(subject, content, from, split);
            return R.ok("發(fā)送成功");
        } catch (Exception e) {
            e.fillInStackTrace();
            return R.fail("發(fā)送失敗");
        }
    }
 
    @PostMapping("/tof")
    @ApiOperation("發(fā)送富文本郵件")
    @ApiImplicitParams({@ApiImplicitParam(name = "subject", value = "郵件主題"), @ApiImplicitParam(name = "content", value = "郵件內(nèi)容<html>格式")
            , @ApiImplicitParam(name = "from", value = "發(fā)送郵件的QQ郵箱"), @ApiImplicitParam(name = "to", value = "要發(fā)送到的QQ郵箱,用,隔開")})
    public R tof(String subject, String content, String from, String to) {
        String[] split = to.split(",");
        try {
            mailUtil.sendMimeMail(subject, content, from, split);
            return R.ok("發(fā)送成功");
        } catch (Exception e) {
            e.fillInStackTrace();
            return R.fail("發(fā)送失敗");
        }
    }
}

以上就是基于Java實現(xiàn)QQ郵箱發(fā)送工具類的詳細內(nèi)容,更多關于Java郵箱發(fā)送的資料請關注腳本之家其它相關文章!

相關文章

  • Java中包裝類介紹與其注意事項

    Java中包裝類介紹與其注意事項

    Java語言是一個面向?qū)ο蟮恼Z言,但是Java中的基本數(shù)據(jù)類型卻是不面向?qū)ο蟮?,這在實際使用時存在很多的不便,所以在設計類時為每個基本數(shù)據(jù)類型設計了一個對應的類進行代表,這樣八個和基本數(shù)據(jù)類型對應的類統(tǒng)稱為包裝類,有些地方也翻譯為外覆類或數(shù)據(jù)類型類。
    2017-02-02
  • Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄

    Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄

    很多新手不知道Eclipse怎么創(chuàng)建Java Web項目,一起來看看吧,這篇文章主要給大家介紹了關于Eclipse創(chuàng)建JavaWeb工程的完整步驟,需要的朋友可以參考下
    2023-10-10
  • java實現(xiàn)五子棋大戰(zhàn)

    java實現(xiàn)五子棋大戰(zhàn)

    這篇文章主要為大家詳細介紹了java實現(xiàn)五子棋大戰(zhàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringMVC中的幾個模型對象

    SpringMVC中的幾個模型對象

    這篇文章主要介紹了SpringMVC中的幾個模型對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Linux內(nèi)核定時器使用及說明

    Linux內(nèi)核定時器使用及說明

    文章詳細介紹了Linux內(nèi)核定時器的特性、核心數(shù)據(jù)結(jié)構(gòu)、時間相關轉(zhuǎn)換函數(shù)以及操作API,通過示例展示了如何編寫和使用定時器,包括按鍵消抖的應用
    2025-12-12
  • 使用HandlerMethodArgumentResolver用于統(tǒng)一獲取當前登錄用戶

    使用HandlerMethodArgumentResolver用于統(tǒng)一獲取當前登錄用戶

    這篇文章主要介紹了使用HandlerMethodArgumentResolver用于統(tǒng)一獲取當前登錄用戶實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java Lambda 表達式深度解析

    Java Lambda 表達式深度解析

    本文介紹了Java 8中的Lambda表達式,詳細介紹了方法引用、Stream API與Lambda在集合操作中的應用及在MyBatis Plus中的應用,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • SpringSecurity自定義登錄接口的實現(xiàn)

    SpringSecurity自定義登錄接口的實現(xiàn)

    本文介紹了使用Spring Security實現(xiàn)自定義登錄接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • java實現(xiàn)計算地理坐標之間的距離

    java實現(xiàn)計算地理坐標之間的距離

    java實現(xiàn)計算地理坐標之間的距離,主要是通過計算兩經(jīng)緯度點之間的距離來實現(xiàn),有需要的小伙伴參考下吧
    2015-03-03
  • SpringBoot集成E-mail發(fā)送各種類型郵件

    SpringBoot集成E-mail發(fā)送各種類型郵件

    這篇文章主要為大家詳細介紹了SpringBoot集成E-mail發(fā)送各種類型郵件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評論

太康县| 定陶县| 曲沃县| 会理县| 巴彦淖尔市| 余江县| 云浮市| 宝清县| 托克托县| 潞城市| 布拖县| 江山市| 渝北区| 伊通| 黄山市| 泊头市| 武夷山市| 大关县| 普定县| 西峡县| 安国市| 双流县| 博乐市| 岑巩县| 兴化市| 滨海县| 毕节市| 东乌| 丹东市| 荆门市| 改则县| 嘉兴市| 平乐县| 永春县| 于都县| 潼南县| 娄底市| 和田市| 吴旗县| 沂源县| 南城县|