2014-05-17 76 views
-1

我已經嘗試過各種在線代碼並嘗試使用自己的代碼,但它一直拋出一些異常而不是實際發送電子郵件。手動發送雖然工作正常。什麼可能是錯的?使用自己的郵件服務器的Java郵件

SMTP example

TLS:

Exception in thread "main" java.lang.RuntimeException: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 587; timeout -1; 

SSL:

Exception in thread "main" java.lang.RuntimeException: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 465; timeout -1; 

很顯然,我可以達到使用上CMD ping郵件服務器,我連接到互聯網。

或者,我如何設置我自己的郵件服務器,以允許不驗證一些受限制的公共郵件服務的身份驗證消息?優選無溶液。

回答

0

這不是一個身份驗證問題,您根本無法連接到端口。此端口通常在端點防火牆(包括Windows防火牆)中被阻止。請記住,這些通常會阻止特定的應用程序,所以它可能只是不能向外連接的java。

運行一個私人郵件交換器...可能不是這個問題的理想解決方案。實際上,要將任何郵件實際發送到收件箱而不是垃圾郵件文件夾,私人服務器將轉發到其他公用郵件服務器。充其量,它只會處理本地客戶端的身份驗證(可能同時成爲一個巨大的垃圾郵件中繼)。如果你仍然想這樣做,Postfix是一個很好的選擇。

+0

好吧,但我的Windows防火牆被禁用,仍然不會讓我連接。謝謝,我會嘗試Postfix –

+0

你有不同的防病毒軟件包可能有防火牆嗎?另外,許多isps阻止郵件端口,在這種情況下,也可能很難運行postfix。 –

+0

如果事實證明是ISP阻止的事情,您可以嘗試使用Amazon SES等webservice api發送郵件。 –

相關問題