未知的SMTP主机(Unknown SMTP host)

2019-08-17 19:48发布

我正在使用Tomcat来发送电子邮件,通过对用户生成的报告Java Web应用程序。 我能够发送电子邮件,但几个小时后,服务器停止发送电子邮件,并出现以下错误。

javax.mail.MessagingException: Unknown SMTP host: mail.mydomain.co.uk;
nested exception is:
java.net.UnknownHostException: mail.mydomain.co.uk
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:317)
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 com.turnkey.email.SendEmail.sendMail(SendEmail.java:119)
at com.turnkey.thread.CommunicationThread.run(CommunicationThread.java:399)
Caused by: java.net.UnknownHostException: mail.mydomain.co.uk
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
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)
... 8 more

一段时间之后,服务器再次开始发送电子邮件。

谁能告诉我可能是什么问题。 我如何解决这个问题?

谢谢

Answer 1:

这看起来像你的名字服务的故障。 在JDK是无法查找主机名查找其Internet地址。 由于该作品有时而不是别人,它看起来好像是这个名字服务的间歇性故障。 名称服务失败可能是由于一些故障在您的本地操作系统,也可能是由于一些网络故障与DNS服务器或其他名称服务服务器进行通信,也可以是在DNS服务器或名称服务的服务器故障本身。 确定故障的确切原因将需要一些调试。 需要注意的是JDK缓存域名服务器查找了一段时间的结果,所以你需要系数是到您的调试。



Answer 2:

另外,还要确保有在SMTP主机名如年底没有空间。 mail.google.comSPACEHERE。 令人惊讶的这发生在我身上,终于卸下这个空间后,没有抱怨SMTP主机。 电子邮件发送成功



Answer 3:

设置主机的域名而不是域名的IP地址。 使用CMD上NSLOOKUP mail.mydomain.co.uk找到IP地址。 它为我工作。



Answer 4:

专为AIX或Linux操作系统环境下,我们需要添加主机名在etc / hosts文件..鞋底此。 Windows操作系统,这可能会在Windows系统上运行,因为没有严格的安全检查,但是AIX或Linux必须添加主机名到etc / hosts文件,以文件为平SMTP服务器。

避免这样做可能导致未知主机问题



文章来源: Unknown SMTP host