【发布时间】:2021-04-14 08:51:15
【问题描述】:
使用 org.apache.commons.mail.SimpleEmail 从后台应用程序中发送电子邮件。这已经工作了8个月,没有任何问题。 1 月 1 日,它开始失败。该应用程序是在 Mac (macOS 10.15.7) 上运行的 Scala (2.12.8) 和 Java (1.8)。
将电子邮件发送到 smtp.googlemail.com 端口 465(也尝试过 smtp.gmail.com)。
使用 IntelliJ 作为 IDE。如果应用程序在 IntelliJ 中运行 ,它仍然可以完美运行,但如果您创建一个 Jar 并从命令行运行,它每次都会失败。使用 'sudo' 从 Jar 运行也会失败。
那么,截至 1 月 1 日,Google 的某些设置是否发生了变化?为什么它仍然可以在 IDE 中工作 - IntelliJ 中是否存在上下文或证书? SSL 需要证书吗?
感谢任何建议!
-------- 附录 - send() 方法的所有参数 ---------
标题:失败——我的补充 ID:(无)---我的补充 至:j.crowley@computer.org 主题:JDCMacBook 的备份为 150.1M 消息:对于 JDCMacBook,驱动器:USBExtA,备份 2021-01-08-103310 相比 2021-01-08-053055 添加:3.3M 更改:142.3M 删除:4.4M 发送如果可能:真 主机:smtp.googlemail.com 到港口:465 认证用户:tmviewer.smtp@gmail.com Auth Pwd: .... 已编辑 .... 设置 SSL:真 - - - - 堆栈跟踪 - - - - - - 异常:org.apache.commons.mail.EmailException:将电子邮件发送到以下服务器失败:smtp.googlemail.com:465 10:44:11.749 0:00.002 错误:org.apache.commons.mail.Email.sendMimeMessage(Email.java:1469) 10:44:11.749 错误:org.apache.commons.mail.Email.send(Email.java:1496) 10:44:11.749 错误:jdctm.Utils$.sendEMail(Utils.scala:547) 10:44:11.750 0:00.001 错误:jdctm.NotifyInfo.notify(Cache.scala:1036) 10:44:11.750 错误:jdctm.Cache$.notify(Cache.scala:722) 10:44:11.750 错误:jdctm.ExecuteTMUtil.run(Cache.scala:952) 10:44:11.750 错误:java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) 10:44:11.751 0:00.001 错误:java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) 10:44:11.751 错误:java.base/java.lang.Thread.run(Thread.java:831)【问题讨论】:
-
它是如何失败的?你得到哪个错误?
-
你可能有堆栈跟踪错误吗?也可能是您的本地计算机上发生了其他变化而导致问题(因为 IDE 更加静态)。
-
在原始文件中添加了参数和堆栈跟踪。
-
远见:是否存在阻止命令行应用程序工作的防火墙规则并且 IntelliJ 拥有所有需要的权限?不知道这在 Mac 上是如何工作的,但我知道这可以在 Windows 上发生。
-
@Fullslack - 很棒的想法,我自己也应该想到的!但不幸的是,从命令行可以“ping”到 smtp.googlemail.com 和“telnet”到端口 465,所以我们通过网络连接到服务器。想知道某处是否有在 2020 年底过期的 SSL 证书......但不知道它可能在哪里。
标签: java scala intellij-idea gmail