更新后电子邮件未发送

你好,我最喜欢的论坛系统 :slight_smile:

我在 Discourse 论坛发送邮件时遇到了问题。

当我尝试测试 SMTP 时,一切正常,正如截图所示。

我使用的是 587 端口,并启用了 STARTTLS。

  DISCOURSE_SMTP_ADDRESS: email.crypto.ba
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: rux@crypto.ba
  DISCOURSE_SMTP_PASSWORD: PASSWORD   
  DISCOURSE_SMTP_ENABLE_START_TLS: true

但是,当我将这些参数添加到 app.yml 并重建应用后,它无法发送任何邮件。

有人能指出解决方案吗?

1 个赞

什么可能阻止 Discourse 使用我的 SMTP?:frowning: 日志只显示连接被拒绝。

1 个赞

(您可能需要等待世界再转动一会儿才能获得帮助……)

我所知道的是,主机能够执行的操作与容器内进程能够执行的操作之间可能存在差异。您是如何运行 SMTP 测试的——是在容器内部还是外部?

我还知道 somewhere 有一份关于电子邮件故障排查的清单……也许在这个帖子中:

我已经在容器外测试过我的 SMTP 了,现在你给了我一个在容器内尝试的想法 :slight_smile:

感谢提供的链接,我这就去查看。

好的,我现在已经能通过了。在 /admin/email 测试邮件时显示“已发送”,但我没有收到任何邮件。

真奇怪,我可以登录同一个邮箱进行发送和接收。

抱歉,我实在想不出其他办法了。你可以用类似下面的命令查看数据包:
tcpdump -c 19 -A -n port 587
但由于流量大多已加密,这可能没什么帮助。它或许只能显示没有建立连接,或者连接被拒绝。

编辑:我发现需要切换到端口 2525,但我不记得具体原因了。这似乎是一个标准的替代端口。

2 个赞

你仍然卡住了吗?现在或48小时后可能是更新此帖子的合适时机。

抱歉,我无法从 Discourse 发送电子邮件。我真不明白为什么会出现这个问题。即使我可以测试并使用 SMTP 服务器,Discourse 仍然无法通过它发送邮件。

我使用的是自己的邮件服务器(iRedMail),该服务器已在线运行近 2 年,期间从未出现过任何问题。

我实在想不出可能是什么问题。

我花了最后 3 小时检查 Discourse 的日志,想找出是什么阻止了邮件发送。这并不难,但毫无进展。

现在我到了可以发送邮件的阶段,点击“发送邮件”后,系统提示“邮件已发送”,但我没有收到任何邮件。

1 个赞

您尝试过 discourse-doctor 吗?

它可以发送邮件,包括将邮件发送至垃圾邮件评分服务,这是一种很好的方式,可以查看邮件是否能够送达知名服务商,还是仅能送达您的服务。Discourse-doctor 建议:

要进行可靠的测试,请从 mail-tester.com 获取一个地址。

如果显示“邮件已发送”,那么可以相当确定 Discourse 已将邮件投递到您的邮件服务,您需要检查垃圾邮件文件夹以及您邮件服务的日志。

一个常见的问题是,您的论坛地址是 forum.example.com,而默认通知邮箱是 noreply@forum.example.com,但您的邮件服务仅配置为接收 xxx@example.com 的邮件。如果是这种情况,您需要更改通知邮箱(或重新配置您的邮件服务器)。

1 个赞

论坛地址为 https://forum.crypto.ba

image

我已找到解决方案,问题出在我的邮件服务器设置上,我需要添加一些选项!

现在一切正常了。

问题出在:
“收件人地址被拒绝:发件人与 SMTP 认证用户名不一致”

感谢两位,在读了你们的帖子后,它们指引我找到了解决方案。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.