出于某种原因,我的 Discourse 设置没有收到邮件。
我已经测试过 SMTP 设置,它们在其他平台上运行正常。
也使用 Telnet 进行了测试。
出于某种原因,我的 Discourse 设置没有收到邮件。
我已经测试过 SMTP 设置,它们在其他平台上运行正常。
也使用 Telnet 进行了测试。
请参阅 在新 Discourse 安装中排查电子邮件问题。一个常见的问题是,Discourse 发送的邮件地址不被您的服务器接受。
我遇到了类似的情况。已安装,网站有响应,但注册邮件从未收到。在 Discourse 服务器内部、使用相同的配置/凭据从应用容器中测试发送邮件 = 成功,测试邮件已正确发送并接收。运行 doctor 命令后显示:
正在向 my_correct_user@my_correct_domain 发送邮件...
正在使用 correct_smtp_server_name:465、用户名 correct_smpt_user@correct_sender_domain 以及 plain 认证方式,测试向 my_correct_user@my_correct_domain 发送邮件。
======================================== 错误 ========================================
意外错误
Net::ReadTimeout
====================================== 解决方案 =======================================
这不是一个常见错误,目前没有推荐的解决方案!
[....]
我尝试将端口切换到 587,此时日志中不再出现 Net::ReadTimeout,但邮件仍然无法发送。接下来该怎么办?DISCOURSE_SMTP_DOMAIN 的正确内容应该是什么?这是目前我唯一怀疑的地方。
同样的问题。请帮忙。
如果您遇到读取超时,这是因为出站 SMTP 端口被阻止。您需要解除该端口的阻止,或使用其他端口。
我个人在该服务器上使用 submission 端口,因此该端口肯定不会被阻止。而且——对了——在使用 587 端口时,不会出现超时错误。由于我无法更改服务器的配置,我是否应该理解它仅支持 SMTPS?
端口 587 支持显式 TLS(STARTTLS),邮件服务器可以配置为在该端口接受提交而不要求 TLS,因此您可以通过该端口进行未加密的 SMTP 传输。
(现在已基本弃用的端口 465 支持隐式 TLS,您别无选择。)
好的,服务器已配置为在提交端口(587)上使用显式 TLS。现在,需要在 Discourse 配置中进行哪些设置才能使其在 587 端口上 使用 TLS 工作?它应该/不应该开箱即用吗?
有一个 DISCOURSE_SMTP_ENABLE_START_TLS,其默认值为 true。