0

我的 SMTP 端点配置如下所示:

    <smtp:outbound-endpoint host="${smtp.host}" port="${smtp.port}" from="${smtp.from}" user="${smtp.user}" password="${smtp.password}" responseTimeout="10000" doc:name="SMTP"/>

属性取自属性文件,如果所有属性都已填满且不为空,则可以完美运行。但是在我不想使用身份验证的情况下,我将 smtp.user 和 smtp.password 更改为空字符串:

smtp.user=
smtp.password=

然后我得到

535 5.7.0 authentication failed

似乎端点尝试使用空的用户名和密码进行身份验证。如果我从端点 xml 中删除“用户”和“密码”属性,它工作得很好,但它不是我的选择,因为在某些部署中我需要身份验证,而在某些部署中我不需要。所以我想使用我的属性文件来配置它。有什么解决办法吗?

提前致谢。

格迪斯

4

1 回答 1

0

使用具有两条路由的选择路由器,一条用于经过身份验证的 SMTP 出站端点(使用when检查非空的条件${smtp.user}),另一个用于未经过身份验证的端点(在 中otherwise)。

于 2013-02-20T17:03:24.223 回答