如何在 CentOS 上使用 Postfix 拒绝来自未知域的电子邮件

如何在 CentOS 上使用 Postfix 拒绝来自未知域的电子邮件

CentOS 7
版本 = 2.10.1

如何配置 postfix 邮件服务器以排除来自欺骗地址的电子邮件,因此如果有人发送电子邮件 [email protected],postfix 将拒绝该电子邮件,因为该域99999999yabadabadoo.com不存在。

当我放置

smtpd_sender_restrictions = reject_unknown_sender_domain   

在我的帐户中/etc/postfix/main.cf,我从我的帐户发送一封电子邮件 myemail.gmail.com,它被拒绝并显示错误消息:

NOQUEUE: reject: RCPT from unknown[209.85.222.180]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-qk1-f180.google.com>.  

我的dns设置正确。我可以正确挖掘、nslookup 并托管 ip 209.85.222.180。我的盒子上有很多 ip,并且我将每个 ip 都指向特定的 mail.domain.com,并且不将盒子的第一个 ip 用于盒子主机名以外的任何内容,这会重要吗?我正确地收到了发往我在此计算机上托管的 8 个域的电子邮件。

更新:运行 dig google.com MX 以检索 MX 记录集。然后运行 ​​nslookup 并挖掘 MX 记录给出的主机名以获取 IP 地址。

运行 dig google.com MX 以检索 MX 记录集。

所以有时 ips 匹配,有时不匹配。

答案1

main.cf您可以使用 Postfix参数激活您选择的传入电子邮件限制smtpd_sender_restrictions

特别是,您可能至少需要reject_unknown_sender_domain在那里:如果 DNS 中发件人的 MX 记录格式错误,或者发件人的 DNS 中既不存在 A 也不存在 MX 记录,它就会拒绝传入的电子邮件。

或者,您可以选择进行更强大的测试:尝试连接到发件人的邮件服务器(即与发件人域名对应的 MX 或 A 记录所指示的服务器)并查看它是否至少暂时似乎接受回邮件或不发送给原始发送者,并将测试结果缓存一段时间。根本没有邮件服务器的发件人将被视为未通过此测试。这是可以的reject_unverified_sender,但它有一些缺点:阅读文档在启用它之前。

相关内容