Tomcat / Spring不再使用身份验证向SMTP服务器发送电子邮件

时间:2010-08-30 02:48:11

标签: spring authentication tomcat smtp authsmtp

我遇到了tomcat或spring的奇怪问题。我对我的网站进行了重大修订,不再发送电子邮件。我使用authsmtp,这需要身份验证(因此他们可以正确地考虑我使用他们的服务)。没问题,我在春天有这个配置:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="mail.authsmtp.com"/>
    <property name="username" value="my_authsmtp_username"/>
    <property name="password" value="my_authsmtp_password"/>
</bean>

正常工作。但是,现在我收到了这个错误:

  

邮件失败:com.sun.mail.smtp.SMTPSendFailedException:513 5.0.0您的电子邮件系统必须在发送邮件之前进行身份验证。

我的log4j电子邮件继续正常工作。 mail.authsmtp.com的端口25的测试telnet也适用于示例SMTP会话。我使用上一版本的网站对上面的mailSender配置进行了区分,并且没有任何差异(我想也许我的密码中有一个字符)。可能是什么问题?

我唯一能想到的是我最初启动服务器而没有上面的用户名/密码元素(这是我们部署机制中的一个错误)。所以最初实际上这完全有道理。从那以后我更正了它并添加了用户名/密码元素,但问题仍然存在。我想也许旧的配置缓存在某个地方? tomcat会在任何地方缓存吗?我删除了工作和临时目录无济于事。虽然我实际上已将主机更改为abcd1234authsmtp.com,并且它因此错误而适当失败:

  

邮件服务器连接失败;嵌套异常是javax.mail.MessagingException:未知的SMTP主机:mail.abcd1234authsmtp.com;     嵌套异常是:           java.net.UnknownHostException:mail.abcd1234authsmtp.com

所以我知道我正在使用正确的配置,而tomcat / spring看到了最新版本,出于某种原因,Spring不再进行身份验证...我使用的是与之前相同版本的Spring(v3.0.2)同样。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试添加

<property name="javaMailProperties">
  <props>
    <prop key="mail.smtp.auth">true</prop>
    <prop key="mail.smtp.starttls.enable">false</prop>
  </props>
</property>

`

相关问题