2012-04-01 341 views
1

可能重複:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;無法連接到SMTP主機:smtp.yahoo.com,端口:25

我想實現我的代碼的郵件設施,但我得到這個例外。請提出一些解決方案。我正在用intellij的想法去做。

javax.mail.MessagingException: Could not connect to SMTP host: smtp.yahoo.com, port: 25; 
nested exception is: 
java.net.ConnectException: Connection timed out: connect 
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972) 
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642) 
at javax.mail.Service.connect(Service.java:295) 
at javax.mail.Service.connect(Service.java:176) 
at javax.mail.Service.connect(Service.java:125) 
at javax.mail.Transport.send0(Transport.java:194) 
at javax.mail.Transport.send(Transport.java:124) 
at SendMail.send(SendMail.java:53) 
at SendMailTest.main(SendMailTest.java:11) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115) 
Caused by: java.net.ConnectException: Connection timed out: connect 
at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69) 
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
at java.net.Socket.connect(Socket.java:579) 
at java.net.Socket.connect(Socket.java:528) 
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319) 
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233) 
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938) 
... 13 more 

回答

2

你得到的異常,因爲主機smtp.yahoo.com不在端口25響應(最有可能這個端口是永久阻止他們的防火牆)。嘗試另一個SMTP服務器(或您的本地主機)。

+0

你可以建議其他任何SMTP服務器。如果我使用本地主機,那麼你可以在這裏把一些代碼,所以我會理解。提前預先 – user1305398 2012-04-01 06:41:07

+1

爲了開發的目的,它通常更容易在本地安裝SMTP服務器。如果你在Windows上,你可以使用IIS附帶的SMTP服務,在Linux上我建議使用Postfix(http://www.postfix.org/)。一旦啓動並運行SMTP服務,只需在您的配置設置中使用localhost而不是smtp.yahoo.com。 – BluesRockAddict 2012-04-01 06:49:20

相關問題