直接投递:传入邮件的 LetsEncrypt 失败(prop.ltcmp.net.key 错误)及由此导致的投递失败?

我注意到的一个明显问题是,文件夹中缺少 /letsencrypt/domain.tld/prop.ltcmp.net.key

discourse-mail-receiver:/# ls -tlrha letsencrypt/domain.tld
total 40
-rw-r--r--    1 root     root        3.2K Nov 10 05:10 domain.tld.key
-rw-r--r--    1 root     root         208 Nov 10 05:10 domain.tld.csr.conf
-rw-r--r--    1 root     root        1.6K Nov 10 05:10 domain.tld.csr
-rw-r--r--    1 root     root        2.2K Nov 10 05:10 domain.tld.cer
-rw-r--r--    1 root     root        3.8K Nov 10 05:10 fullchain.cer
-rw-r--r--    1 root     root        1.6K Nov 10 05:10 ca.cer
drwxr-xr-x    3 root     root        4.0K Nov 10 05:10 .
-rw-r--r--    1 root     root         799 Nov 11 15:56 domain.tld.conf
drwxr-xr-x    2 root     root        4.0K Nov 11 27 15:56 backup
drwxr-xr-x    8 root     root        4.0K Nov 16 00:49 ..

这很有趣,因为这可以追溯到 @surety 提出的 这个问题,但似乎一直没有得到直接的回答。

该线程似乎仍在讨论这一点,但现在那里的讨论内容太多,容易让人混淆,因此我在此创建了一个主题(以便未来遇到类似问题的用户能更清晰地理解)。

看起来 mail-receiver.yml 配置中 POSTCONF_smtpd_tls_key_file 的值 /letsencrypt/domain.tld/prop.ltcmp.net.key 必须替换为 /letsencrypt/domain.tld/domain.tld.key

因此,对 @surety 的第 1 个问题的回答是“是的”,将该条目的内容替换为您所看到的内容是正确的。第 2 个问题似乎也正确,保持默认即可。

我认为 @pfaffman@mpalmer 或许应该重新调整容器创建脚本,使其使用正确的 .key 文件,而不是这个(看似错误的)prop.ltcmp.net.key 条目…

目前,我很幸运地能够继续推进 @mpalmer 的步骤:

您现在也可以尝试向 nobody@forum.example.com 发送一封电子邮件。虽然 Discourse 目前还不会对它做任何 有用 的处理,但您发送的邮件应该在几秒钟内出现在管理面板的“邮件”>“已拒绝”列表中。如果发生这种情况,您就 绝对 准备好继续下一步了。

因为现在我的测试邮件已经出现在 Discourse 的 /admin/email/rejected 列表中了! :slight_smile: