每当我尝试从我的邮件客户端发送邮件时(在这种情况下,thunderbird),它都会出现一个任意错误,说明为什么它无法发送电子邮件(错误无关紧要,因为它只是告诉我连接被丢弃了)。当我运行tail -f /var/log/maillog
时,我看到:smtp disconnected reason=ca-failure
我似乎在网上找不到任何地方谈论这个问题以及如何解决它。
我尝试使用几种不同的匹配密钥和证书,本地来源(openssl)和letsencrypt。OpenSMTP接受所有这些没有问题。我还为letsencrypt 及其证书指定了根 CA 证书。
您是否定义了 OpenSMTPD 服务器的邮件主机名?
这个文件应该在/etc/mail/mailname 中找到,它应该与 smtpd.conf 文件中的pkiname匹配 "pki 'hostname' cert/etc/letsencrypt/live/www.domain.com/cert.pem">
我花了一两个小时与这个斗争。
这在手册中定义:
PKI PKIname cert certfile
将证书文件证书文件与主机 pkiname 关联,并使用该文件向客户端证明邮件服务器的身份。 是服务器的名称,派生自默认主机名或设置/etc/mail/mailname 或使用 hostname 指令。如果 需要回退证书或 SNI,可以使用"*"通配符作为 pkiname。
可以通过将一个或多个证书(包括证书颁发机构证书)追加到证书文件来创建证书链。证书的创建记录在 starttls(8) 中。