欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot實現(xiàn)發(fā)送QQ郵件的示例代碼

 更新時間:2022年09月18日 09:16:29   作者:Real_man  
這篇文章主要介紹了SpringBoot如何實現(xiàn)發(fā)送QQ郵件功能,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在跑個人應(yīng)用的時候,想引入一個通知機(jī)制,在應(yīng)用啟動和停止的時候通知下自己(因為應(yīng)用部署在服務(wù)器上,不想每次都到服務(wù)器上看);

  • 發(fā)送短信要申請模板,而且還收費...
  • 發(fā)送手機(jī)通知又太多依賴;
  • 釘釘、微信;至于釘釘和微信騷擾消息太多了,容易漏掉通知信息

剩下的就是發(fā)送郵箱、免費、而且沒有那么多的通知干擾,郵箱App在收到郵件的時候會自動的發(fā)生一條Push。而且配置起來很簡單... 那就動手操作起來吧。

配置發(fā)送郵件

1、引入SpringBoot的Mail依賴

如果是Spring Boot應(yīng)用不需要指定版本號了

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

2、配置郵箱發(fā)送的Bean

如下配置

在配置前獲取QQ郵箱授權(quán)碼;QQ郵件在Spring的Bean中密碼為授權(quán)碼。

@Configuration
public class MailConfig {

    @Bean
    public JavaMailSender getJavaMailSender() {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
//        mailSender.setHost("smtp.gmail.com");
        mailSender.setHost("smtp.qq.com");
        mailSender.setPort(587);

        mailSender.setUsername("aihehe123@foxmail.com");
        mailSender.setPassword("這里是QQ郵箱的授權(quán)碼");

        Properties props = mailSender.getJavaMailProperties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.debug", "true");

        return mailSender;
    }
}

3、發(fā)送測試郵件

發(fā)送普通文本

            SimpleMailMessage simpleMessage = new SimpleMailMessage();
            simpleMessage.setFrom("aihehe123@foxmail.com");
            simpleMessage.setTo("aihehe123@foxmail.com");
            simpleMessage.setSubject("test");
            simpleMessage.setText("hello");
            javaMailSender.send(simpleMessage);

發(fā)送帶附件的文本

           MimeMessage message = javaMailSender.createMimeMessage();
            MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(message, true);
            mimeMessageHelper.setFrom("aihehe123@foxmail.com");
            mimeMessageHelper.setTo("aihehe123@foxmail.com");
            mimeMessageHelper.setSubject("test");
            mimeMessageHelper.setText("hello");

            String path = "http://gif.aihe.space/dd467677ea35485da3d12326fcf36e5d.gif";
            UrlResource fileUrlResource = new UrlResource(path);
            mimeMessageHelper.addAttachment(UrlUtils.parseUrlName(path), fileUrlResource);

            javaMailSender.send(message);

4、查看效果

前兩個郵件是帶附件的,最下面一個是不帶附件的;

應(yīng)用啟動&停止郵件通知

1、配置發(fā)送郵件的模板

public class MailUtils {
    public static SimpleMailMessage makeSimpleMessage(String subject,String text){
        SimpleMailMessage simpleMessage = new SimpleMailMessage();
        simpleMessage.setFrom("aihehe123@foxmail.com");
        simpleMessage.setTo("aihehe123@foxmail.com");
        simpleMessage.setSubject(subject);
        simpleMessage.setText(text);
        return simpleMessage;
    }
}

2、應(yīng)用啟動通知

@Component
@Slf4j
public class ApplicationStartHandler implements ApplicationListener<ContextRefreshedEvent> {

    @Autowired
    JavaMailSender javaMailSender;

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        javaMailSender.send(MailUtils.makeSimpleMessage("應(yīng)用啟動通知",""));
        log.info("app start mail sended");
    }
}

3、應(yīng)用停止通知;

public class XXXApplication {

    @Autowired
    JavaMailSender javaMailSender;

    public static void main(String[] args) {
        SpringApplication.run(XXXApplication.class, args);
    }


    @PreDestroy
    public void onExit() {
        log.info("###STOPing###");
        javaMailSender.send(MailUtils.makeSimpleMessage("應(yīng)用停止通知", ""));
        log.info("###STOP FROM THE LIFECYCLE###");
    }

}

總結(jié)

對個人的一些小型應(yīng)用來說,對比短信、Push、釘釘、微信等通知方式,個人認(rèn)為郵箱是簡單、免費、最有效的通知方式。

然后給了簡單的Demo演示下如何配置Spring Boot支持發(fā)送郵件,以及給一個案例在應(yīng)用啟動和停止的時候發(fā)送郵件通知給自己;

到此這篇關(guān)于SpringBoot實現(xiàn)發(fā)送QQ郵件的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot發(fā)送QQ郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于mybatis-plus-generator實現(xiàn)代碼自動生成器

    基于mybatis-plus-generator實現(xiàn)代碼自動生成器

    這篇文章專門為小白準(zhǔn)備了入門級mybatis-plus-generator代碼自動生成器,可以提高開發(fā)效率。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-05-05
  • java.io.UncheckedIOException: Cannot delete C:\Users\guo\AppData\Local\Temp\tomcat.8081問題

    java.io.UncheckedIOException: Cannot delete C

    本文主要介紹了java.io.UncheckedIOException: Cannot delete C:\Users\guo\AppData\Local\Temp\tomcat.8081問題,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • javaweb登錄驗證碼的實現(xiàn)方法

    javaweb登錄驗證碼的實現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了javaweb登錄驗證碼的實現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 解決IDEA創(chuàng)建maven項目時pom.xml沒有變藍(lán)的問題

    解決IDEA創(chuàng)建maven項目時pom.xml沒有變藍(lán)的問題

    這篇文章主要介紹了解決IDEA創(chuàng)建maven項目時pom.xml沒有變藍(lán)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java調(diào)用webservice的.asmx接口的使用步驟

    java調(diào)用webservice的.asmx接口的使用步驟

    這篇文章主要介紹了java調(diào)用webservice的.asmx接口的使用步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 在java中http請求帶cookie的例子

    在java中http請求帶cookie的例子

    今天小編就為大家分享一篇在java中http請求帶cookie的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Java?3年面試經(jīng)驗告訴你Mybatis是如何進(jìn)行分頁的

    Java?3年面試經(jīng)驗告訴你Mybatis是如何進(jìn)行分頁的

    這篇文章主要介紹了Java?3年面試經(jīng)驗告訴你Mybatis是如何進(jìn)行分頁的,對于任何ORM框架,分頁的實現(xiàn)邏輯無外乎兩種,不管怎么包裝,最終給到開發(fā)者的,只是使用上的差異而已,本文給大家講解的很明白,感興趣的朋友一起看看吧
    2022-09-09
  • 高吞吐、線程安全的LRU緩存詳解

    高吞吐、線程安全的LRU緩存詳解

    這篇文章主要介紹了高吞吐、線程安全的LRU緩存詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java?方法的重載與參數(shù)傳遞詳解

    Java?方法的重載與參數(shù)傳遞詳解

    在java中,方法就是用來完成解決某件事情或?qū)崿F(xiàn)某個功能的辦法。方法實現(xiàn)的過程中,會包含很多條語句用于完成某些有意義的功能——通常是處理文本,控制輸入或計算數(shù)值,這篇文章我們來探究一下方法的重載與傳參
    2022-04-04
  • windows下jar包開機(jī)自動重啟的步驟

    windows下jar包開機(jī)自動重啟的步驟

    這篇文章主要給大家介紹了關(guān)于windows下jar包開機(jī)自動重啟的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論