1

我对我的客户端 WebApp 进行了迁移。以前,它在 Glassfish 2.1 和 JDK 1.6 上运行。现在,它在 Glassfish 4.1 和 jdk 1.8 上。

当我尝试从我的 WebApp 发送电子邮件时,JDK 1.6(Project facets 1.6)中打包的相同“.war”在 Glassfish 2.1 上完美运行,而在 Glassfish 4.0 上却无法运行。两条 Glassfish 在本地运行。

例外是:

    13917 [http-listener-1(4)] ERROR com.myClient.web.action.myAction- Failed to send email
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: ismtp.corp.capgemini.com, 25; timeout -1;
  nested exception is:
    java.net.SocketException: Network is unreachable: connect
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2053)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:697)
    at javax.mail.Service.connect(Service.java:364)
    at javax.mail.Service.connect(Service.java:245)
    at javax.mail.Service.connect(Service.java:194)
    at javax.mail.Transport.send0(Transport.java:253)
    at javax.mail.Transport.send(Transport.java:124)
    at com.labco.web.action.ValiderOubliMdpAction.sendMail(ValiderOubliMdpAction.java:296)

我尝试使用 telnet 从 cmd.exe 发送电子邮件,它可以工作。所以我认为问题在于 Glassfish 4.1 的调整。可能在 http 侦听器上。

您对我的问题有什么建议或任何想法吗?

谢谢,

4

1 回答 1

2

在 glassfish 上而不是“默认配置”添加Djava.net.preferIPv4Stack=true到服务器配置。我认为它可以解决您的问题

于 2015-06-17T13:48:39.123 回答