实践过程:

smtpd_restriction_classes = insiders_only
insiders_only = check_sender_access hash:/etc/postfix/insiders,reject

##开头绝不能有空格、Tab之类,否则连接不到SMTP服务器。

smtpd_recipient_restrictions =
        check_recipient_access hash:/etc/postfix/protected_list,

#/etc/postfix/protected_list:  (要通过postmap hash:/etc/postfix/protected_list生成.db文件才有效)

all@domain.com insiders_only     ##只允许/etc/postfix/insiders列表中的规则用户生效

#/etc/postfix/insiders:

erik@domain.com OK    ##允许erik

xxx@domain.com  discard   ##不发送到发件人及收件人

domain.com   OK      ##内网用户允许

以上就实现了控制只有授权用户才可以发邮件到all@domain.com了。

以下是参考资料:

对于限制的用户,其实只能对其外发(或者说rcpt to)做限制,而对于任意来信人给其发来的email则没有限制能力,真正的内部收发邮件用户,应该是只允许它和指定的内部域名(用户)联系,对于发向任何外部邮件域,或任意外部邮件域发来的邮件,都是禁止的。

这里给出一个配置,仅供大家参考。

配置方法:

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:

foo@extmail.org local_in_only
bar@extmail.org local_in_only
4)编辑/etc/postifx/local_out_senders:
QUOTE:
foo@extmail.org local_out_only
bar@extmail.org local_out_only

5)编辑/etc/postfix/local_domains:

extmail.org         OK
all@extmail.org         reject

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

# postmap hash:/etc/postfix/local_in_senders  ##此处postmap命令要加上路径,或在程序所在目录下运行
# postmap hash:/etc/postfix/local_out_senders
# postmap hash:/etc/postfix/local_domains

这样就定义了extmail.org域名里两个用户foo和bar,只允许和internal.foo.com和internel.bar.com 两个内部域的用户来往邮件,对于外部的邮件则没有收或发的能力。如果外部邮件企图给这2个用户发送,则遇到如下错误:

554 5.7.1 <foo@extmail.org>: Recipient address rejected: Access denied

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

554 5.7.1 <bar@extmail.org>: Sender address rejected: Access denied

目前这样的配置就可以比较完整的实现内部用户的功能需求了。其实这种配置的方法和之前的帖子道理一样,关键得分清楚什么阶段,调用什么restrictions即可。

该文章转载自宋氏电脑 技术无忧:http://www.pc51.net/server/mail/2007-11-25/9815.html

Postfix用户收发控制相关推荐

  1. ZigBee-Z-Stack协议栈 第一节 无线收发控制LED

    什么是 ZigBee 协议栈呢? 它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方需要共同按照这一标准 进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗点来理解就是协议 ...

  2. win7如何设置某个软件不弹出用户账户控制

    手动修改注册表: 在 HKEY_CURRENT_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 键下面 ...

  3. mysql用户控制登录_MySql用户权限控制_MySQL

    bitsCN.com MySql用户权限控制 本文将介绍MySql创建帐号,删除帐号,设置和介绍各种帐号的权限 创建用户帐号: www.bitsCN.com [sql] CREATE USER use ...

  4. SSH远程管理(用户登录控制及密码验证)

    SSH (secure shell) 是一种安全通道协议,主要实现字符界面的远程登录,远程复制等功能.SSH协议对通信双方的数据进行了加密处理, 其中包括用户登录时输入的用户口令.  实验环境:两台L ...

  5. Exchange 2007更改用户收发邮件大小限制

    Exchange 2007更改用户收发邮件大小限制 exchange 2007更改用户收发邮件大小限制 2009-12-01 MS Exchange 2007默认附件设置为10M,用户通常要修改这些默 ...

  6. 要管理此计算机上的用户账户,win10用户账户控制 你要允许此应用 若要继续请输入管理员密码...

    今天小编安装魔方电脑大师的时候出现提示:若要继续,请键入管理员密码,然后单击"是" 想必大家在安装或运行程序的时候多多少少都遇到过这种情况,关闭用户账户控制也是同样问题 仔细分析了 ...

  7. (笔记)Mysql命令grant on:增加新用户并控制其权限

    grant on命令用于增加新用户并控制其权限. grant on命令格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" ...

  8. 关闭 Windows Server 2008 用户权限控制(UAC)

    1.开始--设置 --控制面板(切换成经典视图) --用户帐户--打开或关闭"用户账户控制"--取消选择 "使用用户控制帮助保护账户您的计算机"这个选项.确定重 ...

  9. asp.net core根据用户权限控制页面元素的显示

    asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...

最新文章

  1. R语言聚类分析之基于划分的聚类KMeans实战:基于菌株数据
  2. mysql主从不同步怎么恢复_mysql主从不同步时,怎么恢复
  3. Hibernate的基本配置
  4. Qt C++单例类写法
  5. 关于RNA-seq数据集的小结
  6. mybatis学习(5):安装 SQL Server installsharewowdir命令值无效的问题
  7. Collection的使用 对象 java
  8. 15日直播预告丨SQL条件等价改写秘笈(主讲人:怀晓明)
  9. 《Core Java 课件》Day02
  10. SQL Server高级查询之子查询(单行子查询)
  11. bzoj 1415: [Noi2005]聪聪和可可
  12. html中滚动字幕是什么属性,html中Marquee属性详解(滚动显示文本/图片)
  13. 三村合建水厂问题研究
  14. 360安全卫士和火绒之间的事
  15. 卫生统计学v是什么意思_卫生统计学 名词解释
  16. 美术绘画之原画场景深入刻画-张聪-专题视频课程
  17. linux无损扩空间,linux无损扩容的方法
  18. Xftp 传文件到虚拟机一直显示状态错误,传不进去
  19. 你会在 JitPack 上创建依赖库吗?
  20. 《Python编程:从入门到实践》答案

热门文章

  1. 申报成功后怎样修改_【小白教程】12月第3期《申报成功后,如何更正,快快收藏!》...
  2. 液晶模块 LM6063A接口转接
  3. 深度跑车 - DeepRacer
  4. 注解 java 反射_java注解和反射
  5. java有点_JAVA 有点儿冷
  6. 天线决定接受频率_对讲机天线到底有多重要?通讯效果好不好要靠它!
  7. java公平索非公平锁_Java 并发编程中使用 ReentrantLock 替代 synchronized
  8. kali linux提示安装系统失败,kali“安装系统”失败分析及解决
  9. 我的世界java路径_我的世界java路径在哪 路径有误怎么设置
  10. java 并发队列_JAVA并发编程:阻塞队列BlockingQueue之SynchronousQueue