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

时间:2013-01-21 09:32:18

标签: java ssl email-integration

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

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

  

javax.mail.MessagingException:异常读取响应;嵌套异常是:javax.net.ssl.SSLHandshakeException:远程主机关闭   在握手期间的连接   com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1764)     在   com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1523)     在   com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:453)     在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应用程序集成?

1 个答案:

答案 0 :(得分:0)

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

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