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

javamail發(fā)送qq郵箱失敗的原因及解決

 更新時(shí)間:2024年04月30日 08:30:41   作者:Mr朱墨  
本文主要介紹了javamail發(fā)送qq郵箱失敗的原因及解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

javaMail報(bào)錯(cuò):Unsupported or unrecognized SSL message

c.n.m.service.impl.EmailServiceImpl      : 郵件發(fā)送異常, Mail server connection failed; nested exception is javax.mail.MessagingException: Exception reading response;
  nested exception is:
    javax.net.ssl.SSLException: Unsupported or unrecognized SSL message. Failed messages: javax.mail.MessagingException: Exception reading response;
  nested exception is:
    javax.net.ssl.SSLException: Unsupported or unrecognized SSL message

原因分析: ssl與tls端口

坑點(diǎn):官方文檔發(fā)送郵件服務(wù)器: smtp.qq.com,使用SSL,端口號465或587,其實(shí)是使用SSL用465,使用TLS使用587,不能混用,特別是JavaMail在設(shè)置Properties屬性的時(shí)候需要指定使用哪一種協(xié)議,不能用混,否則報(bào)錯(cuò)QQ郵箱SMTP/IMAP服務(wù)

在這里插入圖片描述

比如說我配置的是郵箱服務(wù)器是 smtp.qq.com:587,但是JavaMail的Properties設(shè)置的是
javaMailProperties.put(“mail.smtp.starttls.enable”, “true”);則會(huì)報(bào)上述錯(cuò),因?yàn)閰f(xié)議不匹配,必須使用465端口

在這里插入圖片描述

總結(jié)

“mail.smtp.ssl.enable”和“mail.smtp.starttls.enable”是JavaMail郵件發(fā)送配置中的兩個(gè)不同參數(shù),它們的區(qū)別主要在于使用的加密協(xié)議

mail.smtp.ssl.enable:這個(gè)參數(shù)用于啟用SSL(Secure Sockets Layer)加密協(xié)議。當(dāng)設(shè)置為true時(shí),郵件傳輸將通過一個(gè)SSL連接進(jìn)行,這通常意味著使用465端口。SSL協(xié)議在建立連接后立即加密數(shù)據(jù)流,適用于那些要求全加密通信的SMTP服務(wù)器。

mail.smtp.starttls.enable:這個(gè)參數(shù)用于啟用TLS(Transport Layer Security)加密協(xié)議。當(dāng)設(shè)置為true時(shí),郵件傳輸將通過一個(gè)開始時(shí)未加密的連接進(jìn)行,然后在傳輸過程中升級為TLS加密,這通常意味著使用587端口。TLS協(xié)議是在數(shù)據(jù)傳輸之前建立一個(gè)加密層,適用于那些提供明文連接然后升級到加密通信的SMTP服務(wù)器。

總的來說,mail.smtp.ssl.enable和mail.smtp.starttls.enable都是用于郵件加密的配置項(xiàng),但它們分別對應(yīng)不同的加密方式和端口。如果SMTP服務(wù)器支持SSL,則應(yīng)配置mail.smtp.ssl.enable;如果SMTP服務(wù)器支持TLS,則應(yīng)配置mail.smtp.starttls.enable。

 private JavaMailSenderImpl generateMailSender(EmailSendDto emailSendDto) {
        JavaMailSenderImpl currentMailSender = new JavaMailSenderImpl();
        currentMailSender.setHost(emailSendDto.getHost());
        currentMailSender.setPort(Integer.parseInt(emailSendDto.getPort()));
        currentMailSender.setUsername(emailSendDto.getUsername());
        currentMailSender.setPassword(emailSendDto.getPassword());
        currentMailSender.setDefaultEncoding("UTF-8");
        Properties javaMailProperties = new Properties();
        javaMailProperties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        javaMailProperties.put("mail.smtp.auth", "true");
        javaMailProperties.put("mail.smtp.ssl.enable", "true");        // 465端口
//        javaMailProperties.put("mail.smtp.starttls.enable", "true"); // 587端口
        javaMailProperties.put("mail.debug", "true");
        currentMailSender.setJavaMailProperties(javaMailProperties);
        return currentMailSender;
    }

到此這篇關(guān)于javamail發(fā)送qq郵箱失敗的原因及解決的文章就介紹到這了,更多相關(guān)javamail發(fā)送qq郵箱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)合并圖片的方法示例

    java實(shí)現(xiàn)合并圖片的方法示例

    這篇文章主要介紹了java實(shí)現(xiàn)合并圖片的方法,結(jié)合具體實(shí)例形式分析了java基于圖片的讀取、設(shè)置、生成等操作實(shí)現(xiàn)圖片合并功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • IDEA中properties與yml文件的轉(zhuǎn)變方式

    IDEA中properties與yml文件的轉(zhuǎn)變方式

    文章介紹了如何在IntelliJ IDEA 2021.1.1中安裝和使用ConvertYAMLandPropertiesFile插件進(jìn)行YAML和Properties文件之間的轉(zhuǎn)換,安裝步驟包括導(dǎo)航到設(shè)置、安裝插件、找到并安裝插件等,插件支持從Properties文件轉(zhuǎn)換為YAML文件,但轉(zhuǎn)換過程中會(huì)丟失注釋
    2024-12-12
  • Java Http接口加簽、驗(yàn)簽操作方法

    Java Http接口加簽、驗(yàn)簽操作方法

    下面小編就為大家?guī)硪黄狫ava Http接口加簽、驗(yàn)簽操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java中的密碼加密方式

    Java中的密碼加密方式

    文章介紹了Java中使用MD5算法對密碼進(jìn)行加密的方法,以及如何通過加鹽和多重加密來提高密碼的安全性,MD5是一種不可逆的哈希算法,適合用于存儲(chǔ)密碼,因?yàn)槠漭敵龅恼L度固定,且不容易發(fā)生碰撞,此外,通過加鹽和多重加密,可以進(jìn)一步增加密碼的復(fù)雜性和安全性
    2025-01-01
  • SpringBoot通過ThreadLocal實(shí)現(xiàn)登錄攔截詳解流程

    SpringBoot通過ThreadLocal實(shí)現(xiàn)登錄攔截詳解流程

    這篇文章主要介紹了SpringBoot(HandlerInterceptor)+ThreadLocal實(shí)現(xiàn)登錄攔截,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • SpringBoot集成整合JWT與Shiro流程詳解

    SpringBoot集成整合JWT與Shiro流程詳解

    安全管理是軟件系統(tǒng)必不可少的的功能。根據(jù)經(jīng)典的“墨菲定律”——凡是可能,總會(huì)發(fā)生。如果系統(tǒng)存在安全隱患,最終必然會(huì)出現(xiàn)問題,這篇文章主要介紹了SpringBoot集成JWT、Shiro框架的使用
    2022-12-12
  • 淺談Java鎖機(jī)制

    淺談Java鎖機(jī)制

    在多線程環(huán)境下,程序往往會(huì)出現(xiàn)一些線程安全問題,為此,Java提供了一些線程的同步機(jī)制來解決安全問題,比如:synchronized鎖和Lock鎖都能解決線程安全問題。下面小編就來詳細(xì)介紹該知識點(diǎn),需要的朋友可以參考一下
    2021-09-09
  • SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實(shí)現(xiàn)

    SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實(shí)現(xiàn)

    這篇文章主要介紹的是權(quán)限控制的數(shù)據(jù)權(quán)限層面,意思是控制可訪問數(shù)據(jù)資源的數(shù)量,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • 詳解Spring Boot中如何自定義SpringMVC配置

    詳解Spring Boot中如何自定義SpringMVC配置

    這篇文章主要給大家介紹了關(guān)于Spring Boot中如何自定義SpringMVC配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 在Java中使用ModelMapper簡化Shapefile屬性轉(zhuǎn)JavaBean實(shí)戰(zhàn)過程

    在Java中使用ModelMapper簡化Shapefile屬性轉(zhuǎn)JavaBean實(shí)戰(zhàn)過程

    本文介紹了在Java中使用ModelMapper庫簡化Shapefile屬性轉(zhuǎn)JavaBean的過程,對比了原始的set方法和構(gòu)造方法,展示了如何使用ModelMapper進(jìn)行動(dòng)態(tài)屬性映射,從而減少手動(dòng)編寫轉(zhuǎn)換代碼的工作量,通過示例代碼,展示了如何使用GeoTools讀取Shapefile屬性并將其轉(zhuǎn)換為JavaBean對象
    2025-02-02

最新評論