java - 使用 Java Mail 发送邮件时,远程主机在握手异常期间关闭连接

标签 java ssl email

我正在使用 Java Mail API Ver。 1.4.2 用于在基于 JSF 1.2-Spring 的 Web 应用程序中发送电子邮件。我正在使用不安全的 SMTP 连接发送邮件。此电子邮件配置独立运行良好。还使用 JUnit 4 测试验证了此实用程序,我能够使用非安全连接发送邮件。

当我将此电子邮件模块与主 Web 应用程序集成时,我在发送邮件时在运行时遇到以下异常。

javax.mail.MessagingException: Exception reading response; nested exception is: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1764) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1523) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:453) at javax.mail.Service.connect(Service.java:317) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at javax.mail.Transport.send0(Transport.java:194) at javax.mail.Transport.send(Transport.java:124)

使用安全的 SMTP 连接验证了这个电子邮件模块,它工作正常。

有人对这个问题有想法吗?为什么非安全 SMTP 连接无法与 Web 应用程序集成?

最佳答案

我正在为安全和非安全连接使用电子邮件模块。 在以下属性中导致了问题:props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

为非安全连接删除了此属性,现在我的非安全 SMTP 连接可以与 Web 应用程序集成。

关于java - 使用 Java Mail 发送邮件时,远程主机在握手异常期间关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14435740/

相关文章:

node.js - 无法连接到 AWS SES SMTP 终端 Node

ruby-on-rails - 向消息添加对话的最佳途径

c# - 如何格式化 stringbuilder 以在表格中发送我的电子邮件而不是纯文本

java - 除非在双引号中,否则在空格上拆分字符串,但双引号可以附加一个前面的字符串

java - 在 Maven 插件中使用属性文件中的变量

0到0.06之间的Java随机数

windows - 如何使用 Powershell 脚本从 url 下载文件并强制执行 tls 1.1

ssl - 在lighttpd上配置https

email - 从无人机服务器发送电子邮件时出错(证书中的负序列号)

java - 为什么我可以在我的 equals(Object o) 方法中直接访问 "other"对象的私有(private)变量