如何阻止特定用户的外发邮件([电子邮件保护]) 到除特定域列表之外的所有域(例如@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
用户“测试”不应该能够发送邮件。