自動メール送信時Could not connect to SMTP host:10.1.1.195,port:25;エラーの解決方法
1042 ワード
最近、社内システムの自動送信メール機能をテストしている間、エラーが発生しています.
同僚のパソコンで同じプロジェクトで同じコードが問題ないので、サーバーエラーの問題を排除し、telnetでポートをテストしても問題なく、ping通もでき、tomcatサーバーに起動パラメータが欠けていることに気づいた.解決策:tomcat構成にこのパラメータを追加するには、Server s->Tomcat->Openlaunch configuration->Arguments->をダブルクリックし、VM arguments入力ボックスに次の文を追加します.
次にmain関数の先頭に次の文を追加します.
もう一度テストしてみると、やはり間違いなくメールが無事に送信されました~
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: 10.1.1.195, port: 25;
nested exception is:
java.net.SocketException: Network is unreachable: connect
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at com.gree.util.MailUtil.sendMessage(MailUtil.java:241)
at com.gree.util.MailUtil.sendTest(MailUtil.java:1112)
at com.gree.util.MailUtil.main(MailUtil.java:1120)
同僚のパソコンで同じプロジェクトで同じコードが問題ないので、サーバーエラーの問題を排除し、telnetでポートをテストしても問題なく、ping通もでき、tomcatサーバーに起動パラメータが欠けていることに気づいた.解決策:tomcat構成にこのパラメータを追加するには、Server s->Tomcat->Openlaunch configuration->Arguments->をダブルクリックし、VM arguments入力ボックスに次の文を追加します.
-Djava.net.preferIPv4Stack=true
次にmain関数の先頭に次の文を追加します.
System.setProperty("java.net.preferIPv4Stack", "true");
もう一度テストしてみると、やはり間違いなくメールが無事に送信されました~