注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

青新的博客

记录工作点滴 分享学习快乐 享受家庭温馨

 
 
 

日志

 
 

sendmail阻止未注册之用户发送邮件  

2007-05-23 15:56:56|  分类: Linux学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       好几天没有上来更新博客了,最近一直被一个问题困扰着,公司现在使用的是linux+sendmail作为内部邮件服务器,今天老总发现一个公司不存在邮件帐户给他发送邮件,奇怪怎么会这样,根据SMTP认证的原理,sendmail进行本地邮件传递时会忽略SMTP验证,即你在客户端的outlook上不选择"我的服务器需要验证"也可以正常发送邮件,完蛋了,这样的话,任何员工只要有电脑并且连入网络都可以随意编个邮件地址,在公司内乱发邮件,惨了,IT人员要下岗了,为了解决这个问题,在坛子上逛了有三四天,终于找到了解决的办法,以下是假设我们之前已经成功完成了procmail的设置且已经正常工作,我们修改/etc/procmailrc文件,完成后的文件内容如下:

[root@mail ~]# cat /etc/procmailrc
MAILDIR=/var/spool/mail
VERBOSE=on
PATH=/bin:/sbin:/usr/bin:/usr/sbin/:/usr/local/bin:/usr/local/sbin
LOGFILE=/var/log/procmail.log

FROM=`formail -zxFrom:| sed -e 's/.*<\(.*\)>.*/\1/g'`
#TO=`formail -zxTo:|tr ',' '\n'|  sed 's/\(.*\) \(.*\)/\2/'`
:0 H
* ^.*[Ff]rom: .*@chenbro.com.sh
* !^Received: .*192\.168\.8[0-1]\..*
{
        :0 fwh
        | (username=${FROM%%@*};\                                      说明:取得寄件人邮箱帐户并赋值给变量username
          if [ -d /home/$username ];\                                           说明:判断系统/home/下是否有当前寄件人帐户
          then formail -I "From_Bogus_Mail_Address: No";\        说明:有的情况
          else formail -I "From_Bogus_Mail_Address: Yes" ;fi )   说明:没有的情况
        :0 H
        * ^From_Bogus_Mail_Address: Yes                                说明:没有的情况下
        /var/mail/c0242                                                               说明:将邮件转到管理员邮箱

}

sendmail阻止未注册之用户发送邮件 - 青新 - 青新的博客

  评论这张
 
阅读(540)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017