Utilisez printemps JavaMailSender
pour envoyer un courriel, parfois il y a des exceptions ci-dessousPourquoi la connexion a-t-elle dépassé l'exception si la valeur du délai d'attente par défaut est infinie?
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]
Au début, je pensais que le délai d'attente par défaut est pas assez long, et je pourrais définir une valeur plus pour éviter l'exception. par exemple.
<prop key="mail.smtp.timeout">10000</prop>
mais quand je lis le document que je trouve la valeur du délai defalt est infinite
s'il vous plaît voir: https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html
Donc, si elle est infinie, il doit être bloqué pour toujours, pourquoi pourrait avoir ConnectException
?
Copie possible de [Pourquoi une exception "java.net.ConnectException: Connection a expiré" se produit-elle lorsque l'URL est ouverte?] (Http://stackoverflow.com/questions/86824/why-would-a-java- net-connectexception-connexion-timed-out-exception-occurrence-wh) –