==================== 邮件测试 ====================
为进行可靠的测试,请从 http://www.mail-tester.com/ 获取一个地址。
正在发送邮件至 REDACTED 。
正在使用 support@maniabots.xyz:REDACTED@smtp.zoho.com:587 向 callumokane123@gmail.com 测试发送。
SMTP 服务器连接成功。
正在发送至 callumokane123@gmail.com 。
邮件发送失败。
==================== 完成! ====================
我没有收到用于设置账户的激活邮件。
如有任何帮助,不胜感激 
pfaffman
(Jay Pfaffman)
2
我猜你的论坛地址是 forum.maniabots.xyz,发件邮箱为 noreply@forum.maniabots.xyz,而你的邮件服务器不允许这样做。你可以在 app.yml 文件底部找到一行配置,手动修改它来设置发件地址。你需要手动编辑该文件。
能否更详细地解释一下?我的网站位于 support.maniabots.xyz,邮箱是 support@maniabots.xyz,我的 app.yml 配置看起来没问题。
pfaffman
(Jay Pfaffman)
4
## 构建后要运行的任何自定义命令
run:
- exec: echo "开始自定义命令"
## 如果要为首次注册设置“发件人”电子邮件地址,请取消注释并修改:
## 收到第一封注册邮件后,请重新注释该行。它只需运行一次。
- exec: rails r "SiteSetting.notification_email='support@maniabots.xyz'"
- exec: echo "自定义命令结束"
我已确认这些行未被注释,且邮箱地址正确,并重新构建了容器,但我仍未收到验证邮件。
那么,我需要做什么?如果需要,我可以给你提供服务器访问权限来协助我!
pfaffman
(Jay Pfaffman)
8
抱歉。我已经尽力了,目前没有更多想法。
如果您希望我解决您的问题,可以查看我的安装包:https://www.literatecomputing.com/discourse-installation-packages/。
我可以为您配置 Mailgun,确保其正常运行。您的自定义邮件服务器无法运行,可能有上百种不同的原因。
好吧,我不想重新配置我的域名邮件设置,也不想再为 Mailgun 多花钱。
pfaffman
(Jay Pfaffman)
10
您无需更改任何现有的邮件设置,Mailgun 每月前 1 万条消息免费。
dgtal1
11
大家好,
有人找到这个问题的解决方案了吗?
我在 Docker 主机上配置了 Postfix 用于发送外部邮件。通过 SSH 使用 mail 命令发送邮件时一切正常,但 Discourse 的 Docker 容器却报出了和原帖相同的错误。我参考了这个帖子的提示:https://meta.discourse.org/t/how-to-set-smtp-config-to-use-localhost/131464,借此解决了 Discourse Docker 的身份验证错误(我没有为 Discourse Docker 提供任何用户名或密码来连接我的邮件服务器),但现在却遇到了“发送邮件失败”的问题。有什么建议吗?
我完全没想到配置邮件服务器会成为我 Discourse 之旅中最困难的部分……
Discourse 的安装简直完美无缺,设计得非常周到,而 Linux 邮件服务器的配置则完全不是这样。
提前感谢大家!
pfaffman
(Jay Pfaffman)
12
这就是为什么所有安装说明都建议不要尝试自行搭建。如今运行邮件服务器非常困难。
我猜测 Discourse 使用的是主机名作为发件人邮箱地址,而你的邮件服务器拒绝发送该地址的邮件。但可能有数十种原因导致此问题,这些都超出了此处能提供的帮助范围。
dgtal1
13
对于寻求此问题解决方案的朋友们——我已经解决了。这篇帖子非常关键:How to get Discourse to work with Postfix - #11 by shu_kaze - Linux - Level1Techs Forums
问题在于 Discourse 无法从 Docker 连接到我的 Postfix 服务器。从技术层面讲,连接来自另一个网络,而 Postfix 并未将该网络列入允许的网络列表中。只需在 Postfix 配置中将 Docker 网络(在我的案例中是 172.17.0.0/16)添加到 mynetworks 即可解决问题!
首先,你需要确认 Docker 是否能在 Postfix 执行允许网络检查之前成功连接到你的 Postfix 服务器。记得检查 Postfix 配置中的 inet_interfaces 项。我将其设置为 all,因为对于 Docker 中的 Discourse 而言,localhost 无法正常工作。
如果仍然无法工作,请检查 Postfix 日志。在我的案例中,日志位于 /var/log/mail.log 文件中。
希望这能帮到未来的某位朋友。我花了很长时间才让它运行起来,但现在我终于不再依赖任何付费邮件服务(我甚至曾想使用,但无法成功),而是免费实现了这一功能(记得为你的域名添加 SPF 记录!否则 Gmail 和其他邮件提供商将拦截你的邮件——它们甚至不会进入垃圾邮件箱,而是直接无法送达)。