编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Postfix 控制邮箱发送范围 权限

wxchong 2024-06-14 13:40:37 开源技术 16 ℃ 0 评论

我们公司有几个分公司,他们应用的是domino系统,邮件收发权限是这样设置的:对于本公司的大部分员工EMAIL是只准接收邮件,没有回复权限,比如A这个用户,他只有接收外部(其他域)的邮件,但是不能回复或者发送邮件给外部(其他域)。

还有,我们的子公司都有自己的域名,如果限制了外发权限,但是要对自己其他子公司开绿色通道,这个如何在postfix里面定规则呢?

解决方案:

1)在main.cf里定义如下的smtpd_restriction_classes:引用:

# restrictions

smtpd_restriction_classes = local_out_only local_in_only

local_out_only = check_recipient_access hash:/etc/postfix/local_domains, reject

local_in_only = check_sender_access hash:/etc/postfix/local_domains, reject

2)将main.cf里的smtpd_recipient_restrctions定义为:引用:

smtpd_recipient_restrictions =

check_sender_access hash:/etc/postfix/local_out_senders

check_recipient_access hash:/etc/postfix/local_in_senders

permit_mynetworks,

permit_sasl_authenticated,

reject_non_fqdn_hostname,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unauth_destination,

reject_unauth_pipelining,

reject_invalid_hostname

3)编辑/etc/postfix/local_in_senders:引用:

ccc@byit.org local_in_only

bbb@byit.org local_in_only

4)编辑/etc/postifx/local_out_senders:引用:

ccc@byit.org local_out_only

bbb@byit.org local_out_only

5)编辑/etc/postfix/local_domains:引用:

byit.org OK

bbyyit.org OK

6)为3,4,5建立对应的hash文件: 引用:

# postmap hash:/etc/postfix/local_in_senders

# postmap hash:/etc/postfix/local_out_senders

# postmap hash:/etc/postfix/local_domains

7) Reload postfix

#/etc/init.d/postfix reload


这样就定义了byit.org域名里两个用户bbb和ccc,他们是受限用户,在此允许他们域内byit.org往来邮件,也可以与域bbyyit.org的用户来往邮件,对于其他外部的邮件则没有收或发的能力。

如果外部邮件企图给这2个用户发送,则遇到如下错误: 引用:

554 5.7.1 <bbb@byit.org>: Recipient address rejected: Access denied

如果这2个内部用户要给其他外部用户发email,将遇到如下错误: 引用:

554 5.7.1 <bbb@byit.org>: Sender address rejected: Access denied

目前这样的配置就可以比较完整的实现内部用户的功能需求,并且允许与指定域进行信件往来。


根据这些,可以解决一些新的需求

  1. 发送给指定的用户,而不是域。解决方案

直接在第5步中的Local_domains中,直接输入邮箱,比如

1449542528@qq.com

  1. 可以限制部分人发给部分人,解决方案

A. 在第一步中

smtpd_restriction_classes = local_out_only local_in_only local_out_IE local_in_IE

local_out_only = check_recipient_access hash:/etc/postfix/local_domains, reject

local_in_only = check_sender_access hash:/etc/postfix/local_domains, reject

local_out_IE= check_recipient_access hash:/etc/postfix/local_domains, reject

local_in_IE= check_sender_access hash:/etc/postfix/local_domains, reject

B. 在第3步中

ccc@byit.org local_in_only local_in_IE

bbb@byit.org local_in_only local_in_IE

C. 在第4步中

ccc@byit.org local_out_only local_out_IE

bbb@byit.org local_out_only local_out_IE

D. 第5步中

加入限定的邮箱域名或邮箱地址

E. 剩余步骤照做


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表