使用不同的域名、反向查找和 SPF 进行 Postfix 设置

使用不同的域名、反向查找和 SPF 进行 Postfix 设置

我希望正确设置 Postfix 以服务多个虚拟域,同时遵守所有标准并能够启用 SPF 等安全措施。

  • 该服务器具有主机名server.domain.tld
  • Postfix 已mydomain设置为domain.tld
  • Postfix 已myhostname设置为server.domain.tld
  • Postfix 尚未设置myorigin任何内容。
  • 该服务器托管几十个虚拟域。
  • 所有用户都已设置mail.tld收发邮件服务器。
  • 我希望 Postfix 能够像 一样对外界发挥作用mail.tld

我的第一个想法是将mydomain和设置myhostnamemail.tld。但似乎建议将 的反向查找mail.tld解析为主机的 IP 地址(https://serverfault.com/a/366391/162258例如)。虽然我可以这样做,但我担心设置反向查找mail.tld可能会导致问题,因为届时需要反向查找主机本身。

我如何才能实现 Postfix 的作用,mail.tld并且能够指定mail.tld为 MX 记录并使用 SPF、DKIM 和 DMARC,同时保留主机的 DNS 完整性server.domain.tld

答案1

我有一个类似的工作设置 - 我不使用 DKIM 或 DMARC,只使用 SPF 来对抗垃圾邮件。

这是我的 - 我以此为指南进行设置,虽然我 90% 都遵循它,但还是有一些不同之处 -https://workaround.org/ispmail/jessie

以下是我的各个主机名文件中的内容。像您一样,我托管了多个域,它们都运行良好。

反向 DNS 设置为mail.example.com

我通过独立方法获取 letsencrypt 证书,并在其上指定 example.com、mail.example.com 和 www.example.com 作为主机。

/etc/hostname- mailserver (适当映射到 127.0.0.1 /etc/hosts/etc/mailname-mail.example.com

/etc/postfix/main.cf对主机名或 FQDN 有以下引用 -

smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
myhostname = mail.example.com
mydestination = $myhostname, mail.example.com, mailserver, localhost.localdomain, localhost

在我的main.cf服务器上,我从 mysql 数据库中提取要服务的域以及用户和密码(按照我上面链接的操作方法)。一旦我在适当的表中输入域并在其下创建用户帐户或别名,我就可以作为邮件服务器(接收和发送)工作,如果其他域将mail.example.com最高优先级(最低数字)MX 记录作为域,并且它们拥有的任何 SPF 记录都指定我的记录mail.example.com可用于发送 - 我使用 MX 记录选项

example.com. TXT  "v=spf1 a mx ptr ~all"

客户端连接到mail.example.com提交 (使用 TLS/SSL) 和 pop3 和/或 imap (均使用 tls/ssl)。效果很好。

相关内容