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

标签 spring authentication tomcat smtp authsmtp

我在使用 tomcat 或 spring 时遇到了一个奇怪的问题。我对我的网站进行了重大修改,并且不再发送电子邮件。我使用 authsmtp,它需要身份验证(这样他们就可以正确地解释我对他们服务的使用情况)。没问题,我在 Spring 有这个配置:

<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>

正常工作很好。但是,现在我收到此错误:

Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 513 5.0.0 Your email system must authenticate before sending mail.

不过,我的 log4j 电子邮件继续正常工作。到 mail.authsmtp.com 的端口 25 的测试 telnet 也适用于示例 SMTP 对话。我对上面的 mailSender 配置与该站点的先前版本进行了比较,没有差异(我想也许我的密码中有一个字符)。可能是什么问题?

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

Mail server connection failed; nested exception is javax.mail.MessagingException: Unknown SMTP host: mail.abcd1234authsmtp.com; nested exception is: java.net.UnknownHostException: mail.abcd1234authsmtp.com

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

最佳答案

尝试添加

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

`

关于spring - Tomcat/Spring 不再使用身份验证将电子邮件发送到 SMTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3597555/

相关文章:

java - Eclipse 构建路径嵌套错误

xml - Tomcat 6 到 Tomcat 7 导致上下文路径停止协作

java - 基本身份验证在 Spring-Boot WS Soap 服务中不起作用

java - 如何在 Spring 中继承 application.properties?

java - Spring 测试因 NoClassDefFoundError 失败

spring - 在 netbeans ide 中运行 spring 测试

authentication - 使用 ember-cli-simple-auth 的多个登录路由

ruby-on-rails - 跨多个域的 SSL 和身份验证

java - 如何在 Gui 程序中实现 JDBC 数据库以验证登录程序的用户和密码

java - Spring 安全 : session-config with COOKIE not working