【发布时间】:2016-06-18 13:56:44
【问题描述】:
使用springJavaMailSender发送邮件,有时会出现以下异常
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: mail.foo.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection timed out. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: mail.foo.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection timed out
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:432) ~[spring-context-support-4.2.6.RELEASE.jar!/:4.2.6.RELEASE]
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345) ~[spring-context-support-4.2.6.RELEASE.jar!/:4.2.6.RELEASE]
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340) ~[spring-context-support-4.2.6.RELEASE.jar!/:4.2.6.RELEASE]
一开始我想可能是默认的超时时间不够长,我可以设置一个更长的值来避免异常。例如
<prop key="mail.smtp.timeout">10000</prop>
请看:https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html
如果它是无限的,它应该永远被阻止,为什么会有ConnectException?
【问题讨论】:
标签: spring jakarta-mail connection-timeout