postfix中限制认证用户使用的sender address

前言:默认情况下,杂postfix中,a用户主要通过了smtp认证,当a发送邮件时候,发送人地址可以随便写 
现在我们想设置限制a用户的发送人地址 

达到的要求 
(1)a用户只能使用a-email地址发送邮件 
(2)外面的用户可以发送邮件给我们服务器用户时候
第(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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值