我的server.xml中具有以下配置
<Resource name="mail/Session"
auth="Container"
type="javax.mail.Session"
mail.transport.protocol="smtp"
mail.smtp.starttls.enable = "true"
mail.smtp.socketFactory.class = "javax.net.ssl.SSLSocketFactory"
mail.smtp.socketFactory.port="465"
mail.smtp.host="smtp.gmail.com"
mail.smtp.port="465"
mail.smtp.user="xyz@gmail.com"
mail.smtp.auth="true"
password="xyz"
/>
这很好用。但是,如果我将其更改为我的Yahoo帐户 在smtp.mail.yahoo.com 输入用户名和密码,然后我就一直无法通过身份验证。
为什么会这样?我应该在Yahoo上启用某些功能还是做错了什么?
答案 0 :(得分:1)
是的!你是对的。这是在您的电子邮件帐户设置中启用功能的游戏。在server.xml设置中一切正常。只有您需要为“安全性较低的应用” 提供访问权限,因为gmail阻止安全性较低的应用会抛出身份验证异常。因此,只需在https://myaccount.google.com/lesssecureapps处启用“安全性较低的应用访问权限”即可使用gmail。
自从您说过,对于gmail来说,它的工作原理,那么您必须已经完成了此设置。
因此,只有您必须像对gmail帐户一样,找到允许访问“ yahoo”帐户的权限。您可以在http://help.inspectionsupport.net/isn-settings/enable-less-secure-apps-for-smtp-use-isn-yahoo-mail的官方网站https://help.yahoo.com/kb/SLN27791.html上的{{3}} 上执行此操作。此设置位于页面底部。
这应该对您有用。
答案 1 :(得分:0)
也许您必须添加mail.smtps.auth="true"
属性。