使用端口 25 而不是默认端口 587 进行电子邮件连接

对于新的重建电子邮件连接,管理员注册正在使用端口 25,而不是默认的 587,但是示例配置文件却不是这么说的

#DISCOURSE_SMTP_PORT: 587 # (optional, default 587)

Rails 日志显示在默认配置中尝试连接到端口 25

Job exception: Timeout to open TCP connection to smtp.domain.com:25 (exceeds 5 seconds)

2 个赞

是的,我认为我可以用源代码来证实这一点:

上次提交是在 9 年前,所以这可能已经默认这么久了!:mantelpiece_clock:

虽然这不是代码问题,但我还是把它移到了 Bug 分类下,因为它几乎肯定在设置模板中是错误的?

4 个赞

所以设置它,而不是接受默认值。 discourse-setup 会设置它。

也许更像是 UX
这已经存在 9 年了,这是第一个报告的问题。当再有一个人报告遇到此问题时,我相信它会排在列表的最前面,尽管如果有人想提交 PR 也可以尝试。

1 个赞

并非所有人都运行 discourse-setup,而是直接使用 Web 和 data yml 文件在同一系统上创建多个实例。但确实不是一个高优先级的待解决问题。

除非你熟悉 Discourse 上针对不同 CPU 和内存配置的性能调优讨论,否则我建议你不要完全绕过 discourse-setup

2 个赞

似乎你是近十年来第一个报告问题的人。我想象其他人只是自己设置了它,而不是希望默认设置能起作用。假设如果你不运行 discourse-setup,那是因为你可以处理它。

2 个赞

将这里的注释更改为 25 无妨

因为看起来 ./discourse-setup 假定示例文件中的值是 Discourse 的默认值?

2 个赞

是的,它会。它信任模板而不是解析配置文件。

discourse-setup 总是设置一个值(它不会让该行被注释掉);使用 discourse-setup 的人永远不会遇到默认 SMTP 端口“错误”的问题;这就是为什么这似乎是第一次出现这种情况。(而且似乎甚至在 discourse-setup 存在之前,没有人选择将端口注释掉并期望默认值为 587;设置端口比希望默认值有效更有意义)。将其更改为 standalone.ymlweb_only.yml 中的 25 将鼓励使用 discourse-setup 的用户使用端口 25,这可能意味着很多人将不得不输入 587 而不是直接按 Enter,而另一些人则不知道端口是什么,他们将盲目接受默认值,并可能在弄清楚这一点时遇到问题。我认为,知道如何编辑文本文件并选择将 SMTP 端口注释掉而不是输入他们想要的值的人,将比那些不知道如何编辑文本文件的人要少。

这个“错误”唯一可能发生的时间是,当有人手动编辑 standalone.yml 并选择将 SMTP 端口注释掉而不是提供值时。模板是错误的还是实际的默认值是错误的尚不清楚。

1 个赞