如何在 Postfix 中阻止域内特定用户的出站电子邮件?

如何在 Postfix 中阻止域内特定用户的出站电子邮件?

如何阻止特定用户的外发邮件([电子邮件保护]) 到除特定域列表之外的所有域(例如@example.com,@dot1q.com)?

我找到了一个阻止发送到特定域的邮件的解决方案:

编辑主配置文件文件(默认位置在/etc/postfix)并添加transport_maps = hash:/etc/postfix/transport到文件中。创建一个名为/etc/postfix/transport如果不存在,则添加以下内容。在传输文件末尾添加以下内容:example.com : dot1q.com : * discard:

但不幸的是,这会阻止所有用户的电子邮件。是否可以只对一个用户起作用[电子邮件保护]

答案1

您的情况下文件的正确语法transport应该是(使用正则表达式):

/^user@example\.com/ discard:
/.*/ :

第一行postfix告诉丢弃邮件发送地址[email protected]为第二行 tesspostfix接受其他一切。

答案2

Postfix 提供 ' check_sender_access' 参数。它可以在 /etc/postfix/main.cf 中用作

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access

要阻止,发送邮件[email protected], 请/etc/postfix/access使用以下内容创建

[email protected] REJECT

之后运行以下命令

postmap /etc/postfix/access
service postfix restart

如果您使用 sendmail 作为 MTA,那么您可以编辑文件 /etc/mail/access 并在其中添加以下规则,

From:[email protected]   REJECT

然后重新启动 sendmail 服务,

service sendmail restart

用户“测试”不应该能够发送邮件。

相关内容