Postfix : 如何拒绝仅本地域不存在的发件人地址

Mat*_*ieu 5 postfix

在我的 Postfix 上,我试图拒绝使用本地管理域中的虚假地址的发件人。但我只想对本地域进行检查,而不是对每个发件人进行检查。

所以如果example.com在本地管理,我想阻止unknown_address@example.com和让known_address@example.comanything@gmail.com通过。

我查看了smtpd_sender_restrictionsreject_unverified_sender但我不知道如何仅对本地域进行检查。

mas*_*oeh 10

您正在寻找的参数是 smtpd_reject_unlisted_sender

smtpd_reject_unlisted_sender(默认值:否)

请求 Postfix SMTP 服务器拒绝来自未知发件人地址的邮件,即使没有reject_unlisted_sender指定明确的访问限制。这可以减缓来自蠕虫或病毒的伪造邮件的爆发。

当地址与virtual(5)别名或canonical(5)映射匹配时,它总是被认为是“已知的” 。

  • 发件人域匹配$mydestination$inet_interfaces$proxy_interfaces,但发件人未在$local_recipient_maps 中列出,并且$local_recipient_maps不为空。
  • 发件人域与$virtual_alias_domains匹配,但发件人未在 $virtual_alias_maps 中列出。
  • 发件人域匹配$virtual_mailbox_domains但发件人未在$virtual_mailbox_maps 中列出,并且$virtual_mailbox_maps不为空。
  • 发件人域匹配$relay_domains但发件人未在$relay_recipient_maps 中列出,并且$relay_recipient_maps不为空。

此功能在 Postfix 2.1 及更高版本中可用。

您可以通过smtpd_reject_unlisted_sender = yes在 中指定来启用它main.cf。另一种方式是把reject_unlisted_sendersmtpd_*_restriction堆栈中。


附加说明:reject_unverified_sender 和reject_unlisted_sender 有什么区别?

两种方法的区别在于它如何进行验证。

  • 带参数的后缀reject_unverified_sender将通过 telnet 验证发件人到远程 MX 服务器,并使用收件人 = unverified_sender 执行未完成的 SMTP 事务。如果远程服务器不拒绝收件人,则 postfix 假定发件人已通过验证。请参阅postfix 文档中的地址验证如何工作
  • 带参数的后缀reject_unlisted_sender将通过查看所有域类(本地、虚拟别名、虚拟邮箱和中继)中的有效收件人来验证发件人。