使用端口 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:

虽然这不是代码问题,但设置模板中的内容几乎肯定是错误的,所以我把这个议题移到了 Contribute > Bug 板块。

4 个赞

所以应该手动设置,而不是接受默认值。discourse-setup 会进行设置。

也许这更像是 Contribute > 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 个赞