# 邮件系统无法工作，尽管我用telnet和其他平台测试过

**URL:** <https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089>\
**Category:** Self-hosting\
**Created:** [2020年九月5日 00:54 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089 "2020-09-05T00:54:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![AshuGuptaGamer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ashuguptagamer/32/192780_2.png) [@AshuGuptaGamer](https://meta.discourse.org/u/AshuGuptaGamer)\
**Post date:** [2020年九月5日 00:54 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/1 "2020-09-05T00:54:37Z")

</div>

出于某种原因，我的 Discourse 设置没有收到邮件。

我已经测试过 SMTP 设置，它们在其他平台上运行正常。

也使用 Telnet 进行了测试。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2020年九月5日 01:21 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/2 "2020-09-05T01:21:03Z")

</div>

请参阅 [在新 Discourse 安装中排查电子邮件问题](https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-install/16326)。一个常见的问题是，Discourse 发送的邮件地址不被您的服务器接受。

---

<div class="post-metadata">

**Author:** ![silverdr](https://avatars.discourse-cdn.com/v4/letter/s/e19adc/32.png) [@silverdr](https://meta.discourse.org/u/silverdr)\
**Post date:** [2021年六月13日 23:06 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/3 "2021-06-13T23:06:21Z")

</div>

我遇到了类似的情况。已安装，网站有响应，但注册邮件从未收到。在 Discourse 服务器内部、使用相同的配置/凭据从应用容器中测试发送邮件 = 成功，测试邮件已正确发送并接收。运行 `doctor` 命令后显示：

```plaintext
正在向 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` 的正确内容应该是什么？这是目前我唯一怀疑的地方。

---

<div class="post-metadata">

**Author:** ![tina1998612](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tina1998612/32/238106_2.png) [@tina1998612](https://meta.discourse.org/u/tina1998612)\
**Post date:** [2021年十月28日 20:37 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/4 "2021-10-28T20:37:09Z")

</div>

同样的问题。请帮忙。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021年十月29日 12:02 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/5 "2021-10-29T12:02:07Z")

</div>

如果您遇到读取超时，这是因为出站 SMTP 端口被阻止。您需要解除该端口的阻止，或使用其他端口。

---

<div class="post-metadata">

**Author:** ![silverdr](https://avatars.discourse-cdn.com/v4/letter/s/e19adc/32.png) [@silverdr](https://meta.discourse.org/u/silverdr)\
**Post date:** [2022年四月23日 16:05 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/6 "2022-04-23T16:05:25Z")

</div>

我个人在该服务器上使用 `submission` 端口，因此该端口肯定不会被阻止。而且——对了——在使用 587 端口时，不会出现超时错误。由于我无法更改服务器的配置，我是否应该理解它仅支持 `SMTPS`？

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2022年四月23日 16:27 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/7 "2022-04-23T16:27:34Z")

</div>

端口 587 支持显式 TLS（STARTTLS），邮件服务器_可以_配置为在该端口接受提交而不要求 TLS，因此您可以通过该端口进行未加密的 SMTP 传输。

（现在已基本弃用的端口 465 支持隐式 TLS，您别无选择。）

---

<div class="post-metadata">

**Author:** ![silverdr](https://avatars.discourse-cdn.com/v4/letter/s/e19adc/32.png) [@silverdr](https://meta.discourse.org/u/silverdr)\
**Post date:** [2022年四月23日 16:54 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/8 "2022-04-23T16:54:00Z")

</div>

好的，服务器已配置为在提交端口（587）上使用显式 TLS。现在，需要在 Discourse 配置中进行哪些设置才能使其在 587 端口上 _使用_ TLS 工作？它应该/不应该开箱即用吗？

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2022年四月23日 19:33 UTC](https://meta.discourse.org/t/mail-system-not-working-even-thought-i-tested-it-with-telnet-and-other-platforms/163089/9 "2022-04-23T19:33:28Z")

</div>

有一个 `DISCOURSE_SMTP_ENABLE_START_TLS`，其默认值为 `true`。
