大家好,
我一直在尝试配置自托管 Discourse 安装的传出邮件,但到目前为止还没有成功。即使有 Namecheap 支持的参与,我们也无法使其正常工作。希望这里有人能指出我遗漏了什么。
设置
-
托管:DigitalOcean 虚拟机,通过官方 Docker 方法 (
/var/discourse) 安装 Discourse。 -
域名:通过 Cloudflare 管理(网站的代理 A 记录,MX/邮件记录的 DNS 仅限)。
-
邮件提供商:Namecheap 私人邮件。
-
Discourse 版本:最新的 tests-passed 分支。
有效的部分
-
我可以在我的
hello@domain.com收件箱中毫无问题地接收邮件。 -
MX、SPF、DKIM 和 DMARC DNS 记录已设置并验证。
-
通过 Gmail →
hello@domain.com的入站邮件工作正常。
失败的部分
-
传出邮件(激活邮件、Discourse 的测试邮件)从未送达。
-
Namecheap 支持已确认我的凭据和设置是正确的,但无法解释为什么从服务器发送会失败。
当前 app.yml 配置
DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login
我也尝试了端口 465,配置如下:
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true
已采取的调试步骤
-
在 Cloudflare 中验证 DNS 记录是否正确(MX、SPF、DKIM、DMARC)。
-
确认本地 UFW/iptables 没有阻止端口 587 和 465。
-
尝试在
/etc/gai.conf中强制首选 IPv4。 -
使用
nc和openssl进行测试 → 仍然超时。 -
即使是 Namecheap 自家的说明(587 STARTTLS 或 465 SSL)也导致服务器发送失败。
问题
有人成功将 Namecheap 私人邮件 与 Discourse SMTP 结合使用吗?
-
DigitalOcean 虚拟机连接
mail.privateemail.com的 587/465 端口是否存在已知问题? -
我应该放弃 Namecheap SMTP,改用事务性邮件服务(Postmark、Mailgun、SendGrid)吗?
-
此提供商是否需要特殊的
app.yml标志?
感谢您的任何指导。我在这个设置上遇到了瓶颈。