我对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会在任何地方缓存这个吗?我已经删除了 work 和 temp 目录,但无济于事。虽然我实际上已经将主机更改为 abcd1234authsmtp.com 并且它适当地失败并出现此错误:
邮件服务器连接失败;嵌套异常是 javax.mail.MessagingException: Unknown SMTP host: mail.abcd1234authsmtp.com; 嵌套异常是:java.net.UnknownHostException: mail.abcd1234authsmtp.com
所以我知道我正在使用正确的配置,并且 tomcat/spring 看到最新版本,出于某种原因,Spring 不再进行身份验证......我也使用与以前相同的 Spring (v3.0.2) 版本。有任何想法吗?