4

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

しばらくすると、サーバーは再びメールの送信を開始します。

何が問題なのか誰か教えてください。そして、どうすればこの問題を解決できますか?

ありがとう

4

4 に答える 4

9

これは、ネーム サービスの障害のようです。JDK は、ホスト名を検索してそのインターネット アドレスを見つけることができません。これは機能する場合と機能しない場合があるため、ネーム サービスの断続的な障害のように見えます。ネーム サービスの障害は、ローカル オペレーティング システムの何らかの障害が原因である可能性があります。または、DNS サーバーまたは他のネーム サービス サーバーと通信するネットワーク障害が原因である可能性があります。または、その DNS サーバーまたはネーム サービス サーバーの障害である可能性があります。自体。失敗の正確な原因を特定するには、デバッグが必要です。JDK はしばらくの間、ネーム サーバー ルックアップの結果をキャッシュするので、デバッグにそれを考慮する必要があることに注意してください。

于 2013-03-22T22:18:02.347 に答える
1

ホストには、ドメイン名の代わりにドメイン名の IP アドレスを設定します。cmd で nslookup mail.mydomain.co.uk を使用して、IP アドレスを見つけます。それは私のために働いた。

于 2013-12-24T10:21:56.480 に答える