java jndi配置_Tomcat中JNDI的Java Mail API配置文档

我花了几天时间弄清楚如何通过 具有身份验证的 JNDI在Tomcat中配置javax.mail.Session ,现在我可以了,但要深入研究代码。

在这段时间里,我看到了有史以来最糟糕的代码:javax.mail.Service#connect(String,String,String,String)版本1.4.1

if (user == null) {

user = url.getUsername();

if (password == null) // get password too if we need it

password = url.getPassword();

} else {

if (password == null && user.equals(url.getUsername()))

// only get the password if it matches the username

password = url.getPassword();

}

何时分配密码? 为什么要对null进行两次检查?–然后意识到else不属于上述if。(这是原始缩进)。返回主题。

至少我发现正确的资源定义是:

type="javax.mail.Session"

auth="Container"

password="secret"

mail.debug="false"

mail.transport.protocol="smtp"

mail.smtp.auth="true"

mail.smtp.user="testi"

mail.smtp.host="smtp.xxx.org"

mail.smtp.from="test@example.com"

/>

请注意,它是“ password”和“ mail.smtp.user”或“ mail.user”,而不是“ mail.smtp.password”或“

user”。

至少魔术是在Tomcat中完成的org.apache.naming.factory.MailSessionFactory。javax.mail.Authenticator如果属性password和属性存在mail.smtp.user或mail.user退出,则该工厂向邮件会话添加。

现在我的问题是所有这些东西的文档在哪里。 特别是关于用户名和密码的配置?

顺便说一句:我解释得更详细一些,以帮助其他人遇到同样的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值