我在与我的网络服务器相同的服务器上运行 Postfix 2.10.1,因此域名是 example.com,它在本地接收邮件,但不接收来自任何外部网络的邮件。该服务器运行的是 CentOS 7。
对于 DNS,我不确定正确的设置。我目前有一个 example.com 的 MX 记录和一个带有服务器 IP 的默认 A 记录。我在网上找到的所有资源都使用像 mail.example.com 这样的子域名,然后有一个相应的 A 记录。我尝试了两种方法,其中 A 记录指向相同的 IP 地址,但似乎没有什么区别。
对于 Postfix 配置,master.cf 没有改变,我对 main.cf 做了以下更改:
myhostname = example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8
以下 TCP 端口也开放:25、465 和 587。
此外,我还对 mail_owner 感到好奇。我读过的所有资源都没有提到它或为 Postfix 创建用户。我应该创建一个吗?如果是,它应该拥有哪些文件/目录(如果有的话)?
答案1
有几个问题可能会导致您的连接问题:
- Postfix 可能没有监听您的外部地址。127.0.0.1 没有外部连接。尝试使用命令
netstat -ant | grep LISTEN
查看 Postfix 正在监听哪个地址。 - 您的防火墙可能没有将必要的端口转发到您的服务器。具体说明取决于您使用的设备。
- 您的 ISP 可能阻止了端口 25 (SMTP) 上的流量。端口 443 (SMTPS) 已弃用,不常用。端口 587 (提交) 应仅供您的设备用于从您的域发送邮件。端口 587 可能未被阻止。
网络上有许多网站可以检查您服务器的连接性。
作为一个已经运营过几个域名的人,我确实对邮件服务器的域名有一些意见。像example.com
或这样的域名www.example.com
几乎肯定会发送垃圾邮件,这会增加您的邮件被归类为垃圾邮件的可能性。(对于 MX 来说,这真的无关紧要,因为我会向您发送邮件,并且相信我的发件人不会发送垃圾邮件。)
如果您从该域发送邮件,则在以下情况下邮件更有可能被送达:
- 您有一个静态 IP 地址;
www
您使用了除邮件流量之外的其他子域名(通常为SMTP
或MAIL
);- 您有一个邮件子域的指针记录(这可能需要由您的 ISP 配置);
- 您的域名有 SPF 记录(发件人地址不应有子域名);
- 您有一个针对邮件服务器发送的子域名的 SPF 记录;
- 您使用 DKIM 和发布到 DNS 的密钥来签署您发送的邮件;并且
- 您在 DNS 中有一个 DMARC 策略记录。
如果您没有静态 IP 地址,请使用 ISP 的中继服务器并相应地配置 SPF。您的 ISP 的中继服务器可能会被列入黑名单。
标准 mail_owner 用户 ID 是mail
,尽管其他用户 ID 也可用。这用于接收不适用于特定用户的邮件和其他活动。通常,此用户 ID 拥有为“root”接收的邮件。大多数安装程序将确保该用户 ID 存在。