嗨,Discourse 的朋友们!
我花了好几天时间来设置端口为 465 的电子邮件参数,但解决方案既不在论坛的帖子中,也不在我阅读过的任何地方(我真的仔细找过了)。
当然,这取决于您的邮件服务器接受什么。在我的例子中,只有 465 通过 TLS。
在 app.yml 中需要添加的两个配置行是:
DISCOURSE_SMTP_FORCE_TLS: true
DISCOURSE_SMTP_ENABLE_START_TLS: false
一些细节
默认设置在使用 discourse-doctor 测试电子邮件时导致了 Net::ReadTimeout 错误。在容器内使用 curl 等工具发送测试电子邮件工作正常,正如这篇帖子中所述,这让我找到了解决方案的一半:Cannot send email - problem with port 465 - #10 by schungx
我只能在查看 app.yml 内容并修改此参数后才了解第二个设置。我感觉大多数程序(例如 Thunderbird)在选择端口 465 时会隐式设置正确的协议,那么 Discourse 应该这样做吗?这似乎非常标准,正如这里所强调的:
(链接 到完整帖子)
因此,我强烈建议更新本指南中关于端口 465 的部分,或者让 discourse-setup 自动选择最佳设置。