【问题标题】:Could not connect to SMTP host: smtp.yahoo.com, port: 25 [duplicate]无法连接到 SMTP 主机:smtp.yahoo.com,端口:25 [重复]
【发布时间】:2012-05-15 15:32:54
【问题描述】:

可能重复:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;

我正在尝试在我的代码中实现邮件功能,但我遇到了这个异常。请提出一些解决方案。我是在 intellij idea 中做的。

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

【问题讨论】:

    标签: jakarta-ee


    【解决方案1】:

    您收到异常是因为主机 smtp.yahoo.com 在端口 25 上没有响应(很可能此端口在他们的防火墙上被永久阻止)。尝试另一个 SMTP 服务器(或您的本地主机)。

    【讨论】:

    • 您能推荐任何其他 SMTP 服务器吗?如果我使用的是本地主机,那么你可以在这里放一些代码,这样我会提前理解.thanx
    • 出于开发目的,在本地安装 SMTP 服务器通常更容易。如果你在 Windows 上,你可以使用 IIS 附带的 SMTP 服务,在 linux 上我建议使用 Postfix (postfix.org)。启动并运行 SMTP 服务后,只需在配置设置中使用 localhost 而不是 smtp.yahoo.com。
    【解决方案2】:

    我认为smtp.yahoo.com 是无效的 smtp 字符串。在此站点上尝试有效的 smtp 字符串:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 2016-07-29
      • 2014-10-23
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      相关资源
      最近更新 更多