jakarta.mail.MessagingException: Could not convert socket to TLS
at org.eclipse.angus.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2173)
at org.eclipse.angus.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:741)
at jakarta.mail.Service.connect(Service.java:367)
at jakarta.mail.Service.connect(Service.java:225)
at jakarta.mail.Service.connect(Service.java:174)
at jakarta.mail.Transport.send0(Transport.java:232)
at jakarta.mail.Transport.send(Transport.java:102)
tls配置似乎与您的本地配置不同。您可以尝试启用详细的日志记录来解决问题。
prop.put("mail.debug", "true");
它也可能是网络问题。您可以尝试运行以下命令来检查网络连接:
看着您的错误“无法将插座转换为TLS”,您的SMTP服务器有TLS协商问题。这是修复它的方法:
尝试具有适当TLS设置的不同端口:
prop.put("mail.smtp.port", "587"); // for STARTTLS
@PostConstruct
public void initProperties() {
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.starttls.enable", "true");
prop.put("mail.smtp.host", "live.smtp.mailtrap.io");
prop.put("mail.smtp.port", "587");
}
// In your Authenticator:
return new PasswordAuthentication("username", "password");
:我已经根据thisTutorial.
进行了答案。