你好,
我在激活邮件方面遇到了问题。从日志来看,邮件似乎已发送,但我没有收到任何内容。当我使用 Discourse Doctor 时,却能正常收到邮件。
这两者之间有什么区别吗?
为了增加一些困惑,上周我还能收到激活邮件,但由于 DNS 传播未生效,激活按钮无法点击。这个问题现已修复。然而,除了添加了一条指向 IP 的 A 记录外,并未进行其他更改。因此,我不明白是什么变化导致邮件不再被投递。
你好,
我在激活邮件方面遇到了问题。从日志来看,邮件似乎已发送,但我没有收到任何内容。当我使用 Discourse Doctor 时,却能正常收到邮件。
这两者之间有什么区别吗?
为了增加一些困惑,上周我还能收到激活邮件,但由于 DNS 传播未生效,激活按钮无法点击。这个问题现已修复。然而,除了添加了一条指向 IP 的 A 记录外,并未进行其他更改。因此,我不明白是什么变化导致邮件不再被投递。
请检查您的邮件服务商日志,看看是否显示该邮件已穿过其系统?
您是否检查过垃圾邮件文件夹?
我不确定我是否有权限访问电子邮件提供商的日志。目前我使用的是 Microsoft 365 企业版作为电子邮件服务(我知道这不是最优方案,我们正计划更换)。但我没有管理员权限,我认为这需要管理员权限才能查看日志?至少从我的访问点找不到任何相关日志。
垃圾邮件箱中也没有。
我又查看了生产日志,这看起来正确吗?
Processing by FinishInstallationController#register as HTML
Parameters: {“utf8”=>“✓”, “authenticity_token”=>“***==”, “email”=>“my@email”, “username”=>“PappaK”, “password”=>“[FILTERED]”, “commit”=>“Register”}
Redirected to mydomain. com
Completed 302 Found in 24ms (ActiveRecord: 0.0ms | Allocations: 4888)
Started GET “/finish-installation/confirm-email” for IP at 2020-09-21 05:37:43 +0000
Processing by FinishInstallationController#confirm_email as HTML
Rendering finish_installation/confirm_email.html.erb within layouts/finish_installation
Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 1.0ms | Allocations: 388)
Rendered layouts/_head.html.erb (Duration: 13.4ms | Allocations: 2930)
Completed 200 OK in 18ms (Views: 16.5ms | ActiveRecord: 0.0ms | Allocations: 4738)
奇怪的是,这里没有像邮件测试中那样显示“邮件已发送”的确认信息:
Delivered mail my@email. com (682.5ms)
我已从日志中移除了一些识别信息。
我刚刚尝试使用 mail-tester 对 Discourse-doctor 测试进行了测试,结果失败了。不过,它确实首先建立了 SMTP 连接:
SMTP 服务器连接成功。
正在发送至 test-2g0mti7f5@srv1.mail-tester.com…
邮件发送失败。
使用 Discourse-doctor 测试发送到我公司的邮件仍然正常;但使用我的个人邮箱时,虽然显示已被 SMTP 服务器接受,但我却未收到邮件。
你检查过垃圾邮件文件夹了吗?
是的,任何邮箱的垃圾邮件文件夹中都没有收到任何内容。
O365 账户是否已获授权,使用您在 Discourse 中配置的地址发送邮件?
遵循了本线程的建议:
添加了连接器,并使用了来自 O365 管理站点的 MX 地址。
在重新构建应用后,我决定重新构建整个 Droplet(来自 DigitalOcean),以查看是否会有帮助。确实有效!现在我论坛已正常运行,并且能够在我的管理员账户上收到激活邮件。
然而,当我尝试使用个人 Gmail 创建账户时,仍然无法收到邮件。在论坛管理页面的邮件设置“已跳过”部分中,我收到以下错误消息:
5…4 TenantAttribution; Relay Access Denied [HE…-eur04.prod.protection.outlook.com]
看起来这可能是解决方案:
但我尚未尝试。一旦我有时间实施链接中的更改,我会进行更新。
简短附注:重新构建应用是否会干扰我在激活管理员账户后所做的任何设置?
默认情况下,Discourse 将从 noreply@discourse.domain.com 发送邮件。一个常见问题是您的邮件主机坚持要求您从 domain.com 发送。在新安装的 Discourse 上排查邮件问题 介绍了如何更改此设置。