【发布时间】:2014-10-08 01:30:42
【问题描述】:
Properties props = new Properties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", SMTPHost);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587");
Authenticator Auth= new MailAuthenticator();
Session session = Session.getInstance(props, Auth);
MimeMessage msg = new MimeMessage(session);
//
//
Transport.send(msg);
邮件大部分时间发送成功,但有时不发送,tomcat显示
javax.mail.MessagingException: Could not connect to SMTP host: "SMTPHost - IP " , port: 587;
嵌套异常是: java.net.ConnectException:连接超时:连接
此消息每隔几个小时就会出现在 Tomcat 日志中。
javax.mail.MessagingException:异常读取响应; 嵌套异常是: java.net.SocketException:连接重置
This message also appears rarely in a day.
非常感谢任何帮助。谢谢。
【问题讨论】:
-
我认为您应该向您的 ISP 支持服务寻求帮助
-
也许尝试找出您的邮件服务器拒绝连接的原因...检查日志...
-
我已经联系了他们。他们说,从他们的角度来看,这似乎很好。发送电子邮件的响应时间总是需要更多时间(单击按钮后发送电子邮件并重定向到成功页面需要 1 分钟或更长时间,有时根本不发送电子邮件),所以我不确定它是否会出现问题我的 Java 代码或防火墙阻止了某些东西或其他任何东西..:(
-
连接超时正是它所说的。它很少是纯 Java 代码错误。如果您经常使用同一台服务器并且偶尔会出错,则更有可能是网络故障,服务器因为繁忙而拒绝连接,或者甚至是负载平衡服务将请求转发到无法响应的服务器。
-
效果很好。切换到新的 SMTP 主机后,我们在过去几周面临这个问题,自动 Java 邮件(只是短信)需要很长时间(超过一分钟,页面只是加载)发送并重定向到成功响应页面,有时连接超时/reset Tomcat 日志中的错误。如果是 Java 代码错误,我可以在代码中检查哪些内容? :)
标签: java email tomcat jakarta-mail