gpt4 book ai didi

JavaMail 无法从 docker 容器发送电子邮件

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:02 25 4
gpt4 key购买 nike

我刚刚将一些 Java 代码部署到生产环境(它是部署在 Tomcat 中的 Java Web 应用程序),我注意到负责发送电子邮件的模块开始出现故障。

当代码在我的本地系统上运行时,情况并非如此。我至少可以发送到雅虎!我的本地服务器上的邮件、Google 邮件和邮箱。

当从我的本地系统发送时,我的服务器上的日志(/var/log/maillog)

显示:

Jun  8 08:37:22 folo-folo postfix/smtps/smtpd[31137]: connect from unknown[41.220.75.164]
Jun 8 08:37:25 folo-folo postfix/smtps/smtpd[31137]: 67EA680EA480: client=unknown[41.220.75.164], sasl_method=LOGIN, sasl_username=helpdesk@folo-folo.com
Jun 8 08:37:26 folo-folo postfix/cleanup[31216]: 67EA680EA480: message-id=<1177096266.0.1559979567305.JavaMail.gbemirojiboye@Gbemiros-MacBook-Pro.local>
Jun 8 08:37:26 folo-folo postfix/qmgr[6945]: 67EA680EA480: from=<helpdesk@folo-folo.com>, size=530, nrcpt=2 (queue active)
Jun 8 08:37:26 folo-folo postfix/smtps/smtpd[31137]: disconnect from unknown[41.220.75.164]
Jun 8 08:37:26 folo-folo postfix/smtp[31217]: 67EA680EA480: to=<xxxx@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.15.26]:25, delay=1.7, delays=1.1/0.02/0.3/0.24, dsn=2.0.0, status=sent (250 2.0.0 OK 1559979574 e2si3106225wrj.113 - gsmtp)
Jun 8 08:37:28 folo-folo postfix/smtp[31218]: 67EA680EA480: to=<xxxx@yahoo.com>, relay=mta7.am0.yahoodns.net[98.137.159.24]:25, delay=3.4, delays=1.1/0.03/1.5/0.79, dsn=2.0.0, status=sent (250 ok dirdel)
Jun 8 08:37:28 folo-folo postfix/qmgr[6945]: 67EA680EA480: removed

此消息最终发送完毕。

但是,当从部署在 docker 容器内的 tomcat 中的同一应用程序发送时,日志将变为:

Jun  8 08:34:27 folo-folo postfix/smtps/smtpd[30255]: connect from unknown[172.18.0.6]
Jun 8 08:34:29 folo-folo postfix/smtps/smtpd[30255]: warning: unknown[172.18.0.6]: SASL LOGIN authentication failed: **UGFzc3dvcmQ6**
Jun 8 08:34:29 folo-folo postfix/smtps/smtpd[30255]: lost connection after AUTH from unknown[172.18.0.6]
Jun 8 08:34:29 folo-folo postfix/smtps/smtpd[30255]: disconnect from unknown[172.18.0.6]

此消息从未发送。

从主机上的服务器日志中可以看到,Docker 容器能够发出邮件请求,但由于某种原因,身份验证失败。

我可以大胆猜测,如果我向主机容器上的 api 发出请求并让它发送电子邮件,它会起作用。但这对于我的设计来说非常不方便。

如何解决这个问题?

我应该提一下,这里的问题看起来很像posted here

最佳答案

这是我的错误。

我的凭据混淆了,这就是导致从 Docker 发出请求时出错的原因。

更正凭据使错误消失。

关于JavaMail 无法从 docker 容器发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com