javax.mail.MessagingException: Could not connect to SMTP host: smtp.xdf.cn


  1.問題描述:關於使用Java Mail進行郵件發送,拋出Could not connect to SMTP host: xx@xxx.com, port: 25的異常可能:

  當我們使用Java Mail進行郵件發送的時候,有時候會拋出Could not connect to SMTP host: xx@xxx.com, port: 25的異常。

  一般的,處理該異常的做法都是去檢查我們的配置是否出現了錯誤,即去檢查是不是我們配置的郵件服務器的smtp地址寫錯了。

  這時候要注意了,如果是密碼或者是用戶名錯誤,是不會拋出連接不上smtp地址的異常的,而是會報出javax.mail.AuthenticationFailedException,如果我們配置了debug,那么就會發現郵件服務器返回的消息是535 Error: authentication failed。

  通常的,smtp地址錯誤或者是端口號配置錯誤,那么改回正確的地址以及端口就行了。這個沒有什么好說的。

  而現在需要討論的是,如果是在保證全部配置都是正確的情況下,那么還出現這種情況,還拋出異常,那又是怎么回事呢?

  而這也是我所遇到的情況。找了很多的資料,想過很多種情況,最后將想法定在了是不是smtp的25端口會對linux服務器做出限制。

  根據這樣的想法,我在網上搜索了一下,並沒有找到對應的解決方法。當然,經過多次的尋找,我在百度知道找到了一絲蛛絲馬跡。其中該提問者提到的問題跟我所遇到的問題與我有點關聯:
該服務器下所有的鏈接外部25端口的操作都返回超時異常。

  考慮到這樣的情況,我自身去嘗試了telnet一下郵箱的smtp地址,在本地

telnet smtp.xdf.cn 25

  本地25端口通;

  在阿里雲服務器上,測試不通

[root@xxx]# telnet smtp.xdf.cn 25
Trying 116.213.222.46...
telnet: connect to address 116.213.222.46: Connection timed out

  然后,曉得了,阿里雲的25端口默認是封掉的,需要申請25端口解封

解封地址:https://help.aliyun.com/knowledge_detail/56130.html?spm=5176.11065259.1996646101.searchclickresult.777527b9DcosUg

  申請時,需要填寫哪些服務器需要解封及關聯的域名是哪一個(注意:提交解封申請后,一般您在一個工作日內會收到反饋。)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM