引自文档:
我的主机名
此邮件系统的 Internet 主机名。默认使用 gethostname() 中的完全限定域名 (FQDN),或使用 gethostname() 中的非 FQDN 结果并附加“.$mydomain”。$myhostname 用作许多其他配置参数的默认值。
我的域名
此邮件系统的 Internet 域名。默认使用 $myhostname 减去第一个部分,或“localdomain”(Postfix 2.3 及更高版本)。$mydomain 用作许多其他配置参数的默认值。
我很困惑 FQDN 后缀是否应该等同于 SSL FQDN。现在,我们假设/etc/postfix/main.cf
配置是
myhostname = mail.pelersapi.id
mydomain = pelersapi.id
myorigin = $mydomain
现在的问题是:我可以使用域名 mail.pelersapi.id 创建 SSL 证书,同时保留[电子邮件保护]地址有效吗?
目前,我正在使用 Let's Encrypt 来制作证书
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare/pelersapi.id.ini \
--dns-cloudflare-propagation-seconds 30 \
-d mail.pelersapi.id \
-m [email protected]
我之前的尝试是保持 SSL FQDN 和myhostname
相同mydomain
,然后它就成功通过了身份验证。对于上面解释的场景,我担心误解理论可能会导致垃圾邮件分数恶化。
答案1
如果mail.pelersapi.id
在 DNS 中将 定义为 的 MX pelersapi.id
,并且如果存在指向mail.pelersapi.id
您的 Postfix 服务器的 A 记录,则在该服务器上拥有 的证书mail.pelersapi.id
将验证所有邮件地址[email protected]
。(如果有第二个邮件程序,mail2.pelersapi.id
它当然需要自己的证书。)
答案2
是的,在这种简单的情况下,您希望 SSL 证书包含mail.pelersapi.id
,就像 一样myhostname
。事实上,这恰好是您的邮件域的子域只是一个额外的好处。
请记住,当您接收邮件。您发送邮件的人看不到此信息(他们使用 SPF/DKIM/DMARC 来建立发件人权限)。您的 MX 上显示的证书只有在他们回复(或退回)时才开始起作用。
寻找单独的手册页,或者可能是文本文档引用/usr/share/doc/postfix/TLS_README
该文档,特别是针对 TLS 相关的讨论:
SubjectAlternativeName 证书扩展中的 DNS 名称用于验证远程SMTP 服务器名称
如果您仔细阅读该解释,您就会发现,它过去和现在都比这复杂得多,但涵盖大多数边缘情况的配置并不复杂:MX 记录,$myhostname
匹配并出现在SAN.DNSName
证书中,它由一些 Mozilla 信任的 CA 签名,就像任何网站证书一样,完成。