【发布时间】:2011-05-24 03:18:38
【问题描述】:
我在使用 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)也是。有什么想法吗?
【问题讨论】:
标签: spring authentication tomcat smtp authsmtp