Transport.send(message)throws尝试从我的java应用程序发送邮件时无法访问网络

时间:2014-07-09 06:15:27

标签: javamail sendmail

我一直致力于从我的本地RHEL服务器发送电子邮件的应用程序。 邮件路径是: 1.本地服务器交换服务器(outlook,office365) 2.将服务器交换到邮件相关域。

当我从我的本地PC-WindowsXP测试我的应用程序时,它工作正常(它发送邮件)。 但是当我从我的RHEL服务器上尝试相同的操作时,它会抛出:

com.sun.mail.util.MailConnectException:无法连接到主机,端口:smtp.office365.com,25;超时-1;   嵌套异常是:     java.net.SocketException:网络无法访问

来自服务器的

和telnet工作正常。(即telnet exchange-server-name 25)

我的属性是:

        'Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.host", mailServer );
        props.put("mail.smtp.port", "25");
        props.put("mail.smtp.starttls.enable", "true");'

PS: 1.我尝试更新mail.jar,启动TLS(使用starttls), 2.尝试在使用端口465时启用ssl(即props.put(" mail.smtp.ssl.enable"," true");)。 3.尝试使用端口587将smtp类型设置为TLS。

所有建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

请参阅JavaMail connection debugging tips,但看起来您有一个基本的网络问题阻止从服务器访问邮件服务器,可能是因为防火墙。