当使用JavaMail发送电子邮件时,我收到以下异常:
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Can't send command to SMTP host;
nested exception is:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake. Failed messages: javax.mail.MessagingException: Can't send command to SMTP host;我使用的是Tomcat 8,其中添加了以下参数:
-Dcatalina.home=C:\Development\apache-tomcat-8.5.12
-Dcatalina.base=C:\Development\apache-tomcat-8.5.12
-Djava.io.tmpdir=C:\Development\apache-tomcat-8.5.12\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Development\apache-tomcat-8.5.12\conf\logging.properties
-XX:PermSize=128m
-XX:MaxPermSize=512m
-XX:+CMSClassUnloadingEnabled
-XX:+UseG1GC
-Dmail.smtp.starttls.enable=true
-Dmail.debug=true
-Dhttps.protocols=TLSv1.1,TLSv1.2我的java邮件属性是:
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.debug">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>我使用的是Spring Java Mail v.3.2.2。
最奇怪的是,这种配置多年来一直正常工作,但现在突然有80%的电子邮件因此而无法发送。然而,其他20%的电子邮件是照常发送的。
我已经检查了远程服务器中的配置,但没有任何更改。
发布于 2021-10-29 11:24:07
感谢所有回复的人。
看起来所有的问题都是由微软关于租户基本身份验证策略的变化引起的。
在对帐户设置进行了一些更改后,一切都恢复正常,并再次发送电子邮件。
https://stackoverflow.com/questions/69724668
复制相似问题