1.修改main.cf加入
##Restrictions
smtpd_restriction_classes = local_only, reject_local
local_only = check_recipient_access hash:/etc/postfix/local_domains, reject
reject_local = check_sender_access hash:/etc/postfix/local_domains, reject
2.建立相应的限制列表及生成查询表文件
[root@mail ~]# vi /etc/postfix/local_senders
[root@mail ~]# more /etc/postfix/local_senders ##写法如下,中间的用TAB补齐
ke186@XXX.com local_only
[root@mail ~]# postmap /etc/postfix/local_senders ##生成查询表##
[root@mail ~]# vi /etc/postfix/local_domains ##写法如下,中间的用TAB补齐
[root@mail ~]# more /etc/postfix/local_domains ##写法如下,中间的用TAB补齐
XXX.com OK
[root@mail ~]# postmap /etc/postfix/local_domains ##生成查询表##
3. 重启下postfix生效
postfix reload
postfix stop
postfix start
上述目的可以做到限制内部发外部:
在local_senders里面的用户,仅可内部收发,无法发到外到。
只能发到在local_domains里面定义的域名,所以local_domains里面的域名,至少包含壹个本地域的。
4. 如果要想要限制内部指定的用户,收外部邮件。也简单
a. 同样建立相应的用户。
[root@webmail html]# vi /etc/postfix/wan_senders
godoha@ispemail.cn reject_local
[root@webmail html]# postmap /etc/postfix/wan_senders
b.修改下main.cf,修改增加的绿色部分。并重启postfix服务即可。
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/local_senders, check_recipient_access hash:/etc/postfix/wan_senders, permit_mynetworks,xxxxxxxxxxxxx
本文转自 godoha 51CTO博客,原文链接:http://blog.51cto.com/godoha/666186 ,如需转载请自行联系原作者