postfix中限制认证用户使用的sender address
前言:默认情况下,杂postfix中,a用户主要通过了smtp认证,当a发送邮件时候,发送人地址可以随便写
现在我们想设置限制a用户的发送人地址
达到的要求
(1)a用户只能使用a-email地址发送邮件
(2)外面的用户可以发送邮件给我们服务器用户时候
第(2)点看起来有点多余,
但是如果配置错误的话:第(1)点实现了,第(2)点就有问题
但是如果配置错误的话:第(1)点实现了,第(2)点就有问题
本文将使用reject_authenticated_sender_login_mismatch 和 smtpd_sender_login_maps
如果psotfix开启了以上的功能,当一个smtp auth认证用户发送邮件的时候,postfix大概会做以下检测:
当smtp auth认证用户,通过smtp认证,开始使用sender address来发送邮件,postfix会去相应的资料库去查询sender address所对应的owner(也就是说哪个smtpauth认证用户才能使用这个sender address来发送邮件),如果这个owner是这个smtp auth认证用户,那么这个邮件发送成功
反之,该smtp auth认证用户会在outlook中提示一个错误信息
配置步骤:
1.在smtpd_sender_restriction加入reject_authenticated_sender_login_mismatch
注意是reject_authenticated_sender_login_mismatch 而不是 reject_sender_login_mismatch
假如加入的是 reject_sender_login_mismatch的话,那么外部的用户(象126等)发送给你服务器上的用户的时候是发送不了的,会提示错误的的
2.在mail.cf中加入
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
3.建立sender_login_maps文件
加入:a-email a用户
这个的意思就是a-email这个地址只能是由a用户来使用
当一个login user 使用sender address来发送邮件的时候,postfix会去sender_login_maps里面查
sender address所对应的用户名,如果这个用户名跟login user相匹配那么
这个login user才可以使用这个sender address 来发送邮件,否则会有错误提示
所有步骤如下:
(1)echo "smtpd_sender_restriction = reject_authenticated_sender_login_mismatch" >>
/etc/postfix/main.cf
(2)echo "smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps" >> /etc/postfix/main.cf
(3)echo "a-email a用户" >> /etc/postfix/sender_login_maps
(4)postmap sender_login_maps
(5)/etc/init.d/postfix reload
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:postfix中限制认证用户使用的sender address:http://www.splaybow.com/post/13063524012008533.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/4/6 10:59:48 | 编辑:洪哥 | 分类:邮箱 | 浏览: