java - 可以从 gmail 发送电子邮件,但不能从 yahoo 发送电子邮件

标签 java tomcat servlets jakarta-mail

我的 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"
    />

这是完美的工作。但是如果我把它改成我的雅虎账户 在 smtp.mail.yahoo.com 使用用户名和密码,然后我一直在验证失败。

为什么会这样?我应该在 yahoo 上启用某些功能还是我做错了什么?

最佳答案

耶!你是对的。这是在您的电子邮件帐户设置中启用某些功能的游戏。您的 server.xml 设置中的一切都很好。只有您需要为 “安全性较低的应用程序” 提供访问权限,因为 gmail 会阻止安全性较低的应用程序抛出身份验证异常。因此,只需在 https://myaccount.google.com/lesssecureapps 处启用“不太安全的应用程序访问”并将适用于 gmail。

既然你说gmail可以用,那你肯定已经做过这个设置了。

因此,您只需要为“yahoo”帐户找到允许访问权限,就像您为 gmail 帐户所做的那样。您可以在 http://help.inspectionsupport.net/isn-settings/enable-less-secure-apps-for-smtp-use-isn-yahoo-mail 上执行此操作 来自官方网站 https://help.yahoo.com/kb/SLN27791.html .此设置位于页面底部。

这应该适合你。

关于java - 可以从 gmail 发送电子邮件,但不能从 yahoo 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54085879/

相关文章:

Java Rest API JAX-RS URL

java - checkmarx 报告中缺少 HSTS header

java - 从 JSP 调用 Java 方法时出现内部服务器错误

java - 尝试删除文件时出现 AccessControlException

java - 如果我想使用弹出树查看器创建自定义组合,从哪里开始

java - 从线性布局中获取子元素

java - 使用 Apache-POI 库获取单元格内容时,我得到了 "Cannot get a numeric value from a text cell"和相反的结果。我如何解决它?

java - 从终端将项目添加到 java 构建路径

java - 项目中所需库 tomcat-embed-websocket 的存档无法读取或不是有效的 ZIP 文件

java - Servlet ServletFileUpload 的最大文件大小