Could not connect to SMTP host: smtp.***.com, port: 465, response: -1

該文章轉載自:http://www.hollischuang.com/archives/515

背景

在使用javamail進行郵件發送的時候,報錯:

Could not connect to SMTP host: smtp.***.com, port: 465, response: -1
原因:

465端口是爲SMTPS(SMTP-over-SSL)協議服務開放的,這是SMTP協議基於SSL安全協議之上的一種變種協議。

解決:

加上如下代碼即可:

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
擴展-郵件服務端口

25端口(SMTP):25端口爲SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)服務所開放的,是用於發送郵件。

如今絕大多數郵件服務器都使用該協議。當你給別人發送郵件時,你的機器的某個動態端口(大於1024)就會與郵件服務器的25號端口建立一個連接,你發送的郵件就會通過這個連接傳送到郵件服務器上,保存起來。

109端口(POP2):109端口是爲POP2(Post Office Protocol Version 2,郵局協議2)服務開放的,是用於接收郵件的。

110端口(POP3):110端口是爲POP3(Post Office Protocol Version 3,郵局協議3)服務開放的,是用於接收郵件的。

143端口(IMAP):143端口是爲IMAP(INTERNET MESSAGE ACCESS PROTOCOL)服務開放的,是用於接收郵件的。

目前POP3使用的比POP2廣得多,POP2幾乎被淘汰,也有某些服務器同時支持POP2和POP3協議。客戶端可以使用POP3協議來訪問服務端的郵件服務,如今ISP的絕大多數郵件服務器都是使用POP3協議(極少用POP2協議)。在使用郵件客戶端程序的時候,會要求輸入POP3服務器地址,默認情況下使用的就是110端口。當你用郵件客戶端(比如、Thunderbird、foxmail、MS Outlook Express以及各類郵件精靈)登錄時,你的機器就會自動用機器的某一個動態端口(大於1024)連接郵件服務器的110端口,服務器就把別人給你發的郵件(之前保存在郵件服務器上),發送到你機器,這樣你就可以看到你客戶端工具上的收件箱裏的新郵件了。

IMAP協議,和POP3協議一樣是用來接收郵件的,但是它有它的特別和新穎之處,它是面向用戶的,它和POP3協議的主要區別是:用戶可以不用把所有的郵件內容全部下載,而是隻下載郵件標題和發件人等基本信息,用戶可以由標題等基本信息,去決定是否下載郵件全文,用戶可以通過客戶端的瀏覽器直接對服務器上的郵件進行操作(比如:打開閱讀全文、丟進垃圾箱、永久刪除、整理到某文件夾下、歸檔、)。再簡單來說就是:瀏覽器用的IMAP協議(143端口)來爲你接收郵件以及讓你很方便的操作服務器上的郵件。郵件客戶端用的POP3協議(110端口)來爲你接收郵件的全部信息和全文內容保存到你的本地機器成爲一個副本,你對郵件客戶端上的副本郵件的任何操作都是在副本上,不干涉郵件服務器上爲你保存的郵件原本。

上面介紹的SMTP協議、POP2協議、POP3協議、IMAP協議都是不安全的協議。因考慮到網絡安全的因素,下面給你介紹基於SSL(Secure Sockets Layer 安全套接層)協議的安全的郵件收發協議。你的郵件在傳輸過程中可能被網絡黑客截取郵件內容,如果你的郵件機密性非常強,不想被收件人以外的任何人和任何黑客截取,或者是涉及國家機密安全的,等等。那麼你的郵件就不該使用上述的三種協議進行收發。

若你採用SMTP協議發郵件,那麼你發出的郵件從你的機器傳到服務器的過程中,可能被黑客截取從而泄露。****若你採用POP2或者POP3協議收取郵件,那麼你的郵件從服務器傳至你當前機器的過程可能被黑客截取從而泄露。

465端口(SMTPS):465端口是爲SMTPS(SMTP-over-SSL)協議服務開放的,這是SMTP協議基於SSL安全協議之上的一種變種協議,它繼承了SSL安全協議的非對稱加密的高度安全可靠性,可防止郵件泄露。SMTPS和SMTP協議一樣,也是用來發送郵件的,只是更安全些,防止郵件被黑客截取泄露,還可實現郵件發送者抗抵賴功能。防止發送者發送之後刪除已發郵件,拒不承認發送過這樣一份郵件。

995端口(POP3S):995端口是爲POP3S(POP3-over-SSL)協議服務開放的,這是POP3協議基於SSL安全協議之上的一種變種協議,它繼承了SSL安全協議的非對稱加密的高度安全可靠性,可防止郵件泄露。POP3S和POP3協議一樣,也是用來接收郵件的,只是更安全些,防止郵件被黑客截取泄露,還可實現郵件接收方抗抵賴功能。防止收件者收件之後刪除已收郵件,拒不承認收到過這樣一封郵件。

993端口(IMAPS):993端口是爲IMAPS(IMAP-over-SSL)協議服務開放的,這是IMAP協議基於SSL安全協議之上的一種變種協議,它繼承了SSL安全協議的非對稱加密的高度安全可靠性,可防止郵件泄露。IMAPS和IMAP協議一樣,也是用來接收郵件的,只是更安全些,防止郵件被黑客截取泄露,還可實現郵件接收方抗抵賴功能。防止收件者收件之後刪除已收郵件,拒不承認收到過這樣一封郵件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章