无法在Test Server中使用Java发送电子邮件

时间:2017-10-26 18:01:13

标签: java email tomcat tomcat8

我正在使用Java Email Sender以Java发送电子邮件..我正在使用VelocityEngine发送HTML电子邮件。

在我的本地电脑里一切都很好!电子邮件已发送。

但是当我将代码部署到测试服务器(没有域相关,只有IP)时,与gmail的连接失败。

我在spring-config.xml

中设置了我的电子邮件
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="mail.domain.com" />
        <property name="port" value="25" />
        <property name="username" value="mymail@domain.com" />
        <property name="password" value="*xxxxxx" />

        <property name="javaMailProperties">
           <props>
                  <prop key="mail.smtp.auth">true</prop>
                  <prop key="mail.smtp.starttls.enable">false</prop>
                  <prop key="mail.smtps.ssl.checkserveridentity">true</prop>
                  <prop key="mail.smtps.ssl.trust">*</prop>
               </props>
        </property>
    </bean>

当我尝试从服务器发送电子邮件时,我会说错误:

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: mail.domain.com, port: 25;

然后它说,这是一个超时..但我的问题是,是否有任何我需要从电子邮件服务器禁用的安全性或如果它是与tomcat的东西

1 个答案:

答案 0 :(得分:0)

最后,我能够在spring-config

中使用TLS安全性解决此问题

所以我只需要添加

<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtps.ssl.checkserveridentity">true</prop>
<prop key="mail.smtps.ssl.trust">*</prop>

并将端口更改为587。

此致