Используйте spring JavaMailSender
для отправки электронной почты, иногда есть исключения ниже
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>
но когда я читаю документ, я обнаруживаю, что значение тайм-аута по умолчанию равно infinite
см. https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html.
Итак, если он бесконечен, он должен быть заблокирован навсегда, почему могло быть ConnectException
?