无法收到首封用户注册邮件:
Discourse Doctor 显示:
SMTP 服务器连接成功。
邮件发送失败。
然而:
通过 Telnet 连接 mail.domain.com 的 587 端口成功,EHLO 命令也能正常执行。
该如何解决?任何帮助都将不胜感激。
无法收到首封用户注册邮件:
Discourse Doctor 显示:
SMTP 服务器连接成功。
邮件发送失败。
然而:
通过 Telnet 连接 mail.domain.com 的 587 端口成功,EHLO 命令也能正常执行。
该如何解决?任何帮助都将不胜感激。
您可以查看邮件服务器日志。无论是什么错误,Discourse-doctor 目前都无法识别。
您需要自行搜索如何配置 exim4。
参考链接:7. The default configuration file
当退信消息遇到永久性失败时,会发生“冻结”(Freezing)现象。这通常是因为引发退信的原始邮件的发件人地址无效,导致退信无法送达。
我的推测是,您可能需要更改通知邮箱地址,或者配置 exim 以使用您的子域名。
你是不是忘记重新构建你的容器了?
无论如何,你可以通过以下方式检查你的容器:
docker exec -it app rails c
然后,在 Rails 控制台中执行:
[1] pry(main)> ENV
这样你就可以轻松查看所有 SMTP 环境变量了。
Exim4 已测试验证其能够发送和接收邮件。
Discourse 已使用 discourse-setup 重新构建,并配置了所有正确的凭据:
Hostname : forum domainname com
Email : user@test com
SMTP address : mail forum domainname com
SMTP port : 587
SMTP username : postmaster@forum domainname com
SMTP password : password
随后运行 discourse-doctor 以测试 Discourse 能否从本地 exim4 邮件服务器发送邮件。
discourse-doctor 显示:
“SMTP 服务器连接成功。”
“发送邮件失败。”
然而,exim4 日志中没有任何错误。
为什么发送邮件会失败?
这是一个常见问题吗?
请注意,SMTP 地址为:mail forum domainname com,
是否应该在开头包含“mail”?
discourse-doctor 显示 Discourse 确实连接到了:
mail forum domainname com,
但 Discourse 并未实际发送邮件。
我的猜测是,您的论坛主机名与邮件服务器发送的域名不匹配。
Discourse 发送邮件时使用的 hostname 是什么?
它使用的是 forum.somedomain.com 吗?
还是
它使用的是 mail.forum.somedomain.com?
默认情况下是 email@forum.somedomain.com,我记得是这样。
这会让一些人感到困惑,因为他们期望的是
email@somedomain.com