Postfix 使用仅允许规则过滤出站邮件

Postfix 使用仅允许规则过滤出站邮件

本质上我只想允许我的 CentOS 盒子将邮件发送到特定地址(如果可能的话使用模式)。

此类地址为:

  • [电子邮件保护]
  • user+*@gmail.com(在本例中,我使用 Plus Trick 的 Gmail 帐户作为大量虚假用户的收件人,但重要的是服务器不能发送给其他 gmail 用户。

我已经从 Sendmail 切换到 Postfix,因为有人友善地建议我使用 Postfix,因为后者的配置更加简单,但是现在我进行了切换并开始深入研究,我得到的沮丧程度和使用 sendmail 时一样!

我一直在仔细阅读 Postfix 文档,但是我的理解范围和文档范围之间似乎存在空白,而且我未能真正了解如何开始。

谢谢您的任何建议!

答案1

我不得不好奇……你为什么想要这个?听起来你大概希望您的邮件服务器进行某种它不应该进行的安全检查。但是...回答您的问题...

您可能可以使用 main.cf 中的“smtpd_recipient_restrictions”选项来实现此目的:

smtpd_recipient_restrictions = check_recipient_access regexp:/etc/postfix/recipient_filter,
    permit_mynetworks, reject_unauth_destination

然后创建一个名为 /etc/postfix/recipient_filter 的文件,并添加您的模式:

/^[email protected]$/    DUNNO
/^user+.*@gmail.com$/  DUNNO
/.*/                   REJECT

选择 DUNNO 而不是 OK 的原因是,这样 permit_mynetworks 和 rejection_unauth_destination 检查仍将发生。使用 OK,任何试图发送邮件的人(甚至是垃圾邮件发送者,或网络上受病毒感染的 PC)都可以向允许的地址发送电子邮件。

此配置未经测试,因此可能需要进行一些额外的调整。有关 /etc/postfix/recipient_filter 文件中使用的结果代码的信息,请参阅此处的 access(5) 手册页http://www.postfix.org/access.5.html

有关 Postfix 支持的正则表达式查找的信息,请阅读此处http://www.postfix.org/regexp_table.5.html

最后,有关 smtpd_recipient_restrictions 选项的更多信息,请阅读此处http://www.postfix.org/postconf.5.html#smtpd_recipient_restrictions

相关内容