我想知道是否有可能阻止除少数特定地址之外的所有地址向其自身域以外的任何地方发送电子邮件。这样他们仍然可以接收传入的消息。据我所知,阻止所有人并不难,但阻止少数特定用户似乎是另一回事。
答案1
使用 postfix 完全可以实现限制类别,您可以在一个表中对用户进行分组,然后应用某些访问模式(只能发送到某些域,根本不能发送等)。
一个简单的例子是smtpd_recipient_restrictions
添加一行来检查发件人的访问权限:check_sender_access hash:/etc/postfix/sender_access
在文件中,sender_access
您输入电子邮件地址和应用的策略(最好将其列入白名单,因为您说的是几个用户,所以特别允许他们发送到任何地方,然后其他人添加一个更大的组..仅以域为例)。
/etc/postfix/sender_access:
[email protected] all
[email protected] all
@yourdomain.com local
然后您需要定义这些类。
smtpd_restriction_classes = local, all
local = check_recipient_access hash:/etc/postfix/local_dom, reject
all = check_recipient_access regex:/etc/postfix/all_dom, reject
在 /etc/postfix/本地:
domain1.com OK
domain2.com OO
在/etc/postfix/all中:
^*@* OK
这并不完美(我的正则表达式应该工作),因为邮件发件人不受限制,当然,您的邮件用户也可以通过另一台服务器发送,但这是执行您要求的一种基本方法。您还可以用哈希表代替 SQL,等等。