Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > sendmail学习
【标  题】:sendmail学习
【关键字】:sendmail
【来  源】:http://www.cublog.cn/u/20198/showart.php?id=180326

sendmail学习

Your Ad Here

需要安装的套件:


Sendmail-cf-xx                    //sendmail的设定文件


Sendmail-xx                         //sendmail邮件服务器程序


m4-xx                                 //转换sendmail设定文件的程序,


mailx-xx                              //mail命令


 


建立mailserver最好给主机邦定一个internet上的mx记录用来和外界通信(a记录也可以),对方服务器可以使用aa@bb.com来发送邮件到本地服务器,本地服务器发送邮件给外部服务器的时候,如果本地域名不能被解析有可能造成邮件被阻挡(根据对方服务器的设置)


 


相关设定文件:


/etc/mail/sendmail.cfsendmail的主要设定文件,但其可读性很差,一般都修改/etc/mail/sendmail.mc,然后使用m4命令到出到sendmail.cf


/etc/mail/local-host-names:设定收发邮件的主机名称,如果主机名为linux1.slq.comlinux2.slq.com,在这里添加这两个主机名来使aa@linux1.slq.comaa@linux2.slq.com都可以接收到邮件。


/etc/mail/access.db:用来设定邮件服务器的访问权限,设定ip地址与权限对,主要权限有RELAY(接受来自该主机要求发送的邮件)DISCARD(拒绝该主机要求发送的邮件)REJECT(拒绝该主机要求发送的邮件,返回错误信息), 编辑本文件,需要修改/etc/access,然后使用makemap来转成access.db,所作的更改即时生效,但如果服务器启用了smtp身份验证,那么access.db所作的设置就失效了。


/etc/aliases.db:用来指定用户的别名,可以用来设定邮件群组。编辑本文件,需要修改/etc/aliases,然后使用newalias来转成aliases.db,所作的更改即时生效。


/etc/mail/statistics:纪录sendmail收发邮件的信息。


~/.forward:普通用户设定转发功能,将收到的邮件转发给这个文件中设定的邮箱。


 


相关程序文件:


/usr/sbin/sendmailsendmail的主程序,读取sendmail.cf中的设置,使用25号端口。


/usr/bin/m4:将sendmail.mc转成sendmail.cf的工具。


/usr/sbin/ipop3dpop程序,使用110端口。


/usr/sbin/makemap:将access转成access.db的工具。


/usr/sbin/mailstats:将/etc/mail/statistics读取出来的工具。


/usr/bin/newaliases:将/etc/aliases转成/etc/aliases.db的工具。


/usr/bin/mailq:查看/var/spool/mqueue所堵信件的工具


 


邮件目录:


/var/spool/mail/usernameMTA收到邮件的时候会存在这个目录的username文件中,等待用户使用pop3工具取走邮件。


/var/spool/mqueue:所有因为网络或者对方主机问题堵住的邮件都会暂存在这个目录中,主机会每隔30~60分钟重新发送一边,通过修改/etc/sysconfig/sendmail文件中的QUEUE=1h可以更改重试间隔,比如改为QUEUE=15m


 


启动邮件服务器:


service sendmail start                   //启动sendmail服务


vi /etc/xinetd.d/ipop3


disabled = yes 改正 disabled = no         //取消对pop3的禁用


service xinetd restart                    //重新启动xinetd服务来应用改动,使pop3工作。


 


设定sendmail.cf


先修改/etc/mail/sendmail.mc文件,几个重要的配置选项如下:


l         DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA’)改为


DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0Name=MTA’)


       这样sendmail可以监听所有网络发过来的邮件,否则只会监听本地邮件(127.0.0.1送过来的邮件)


l         dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PALIN’)dnl以及


dnl define(`confAUTH_MECHANISMS’, `DIGEST-MD5 LOGIN PLAIN’)dnl


的注释去掉,可以启用smtp的身份验证。


然后运行以下命令:


m4 sendmail.mc > sendmail.cf           //来将sendmail.mc转变为sendmail.cf,做之前备份sendmail.cf


 


设定local-host-names


vi /etc/mail/local-host-names


添加主机名称到这个文件中,比如主机在dns中有linux1.slq.comlinux2.slq.com,他们都指向10.138.8.253这台主机,那么在local-host-names中添加这两个FQDNleozhang@linux1.slq.comleozhang@linux2.slq.com这两个地址都可以接受发给leozhang的邮件。


 


设定access.db


cd /etc/mail


vi access


添加主机的域名或ip地址-权限对,范例如下:


192.168.0              RELAY                  //接受192.168.0.0/24网络上来的邮件发送请求


192.168.1.100        DISCARD             //不接受192.168.1.100主机上来的邮件发送请求


test@abc.com        REJECT                //不接受abc.com主机上的test用户的发送邮件请求


from:test@your-domain.com               //不接受来自your-domain.com主机上的test用户的发送邮件请求


to:    test@your-domain.com                //不接受发送给your-domain.com主机上的test用户的发送邮件请求


 


然后,makemap hash /etc/mail/access < /etc/mail/access 来使配置生效。


 


设定aliases.db


vi /etc/aliases


IT:          leozhang, jason, kaiser          //设定IT这个别名包含3个邮件地址,发送给IT的邮件会分发到这3个人


leozhang:        slqleozhang@yahoo.com.cn         //发送给leozhang的邮件都会发一份到slqleozhang@yahoo.com.cn


vi /etc/mail/edp.maillist          //首先建立一个文件添加如下内容


leozhang, \


daniel, \


jason, \


kaiser                    //可以写在一行也可以用“\”来断行


edp:        :include:/etc/mail/edp.maillist         //将设定好的别名文件include进来


在任何路径下输入:newaliases                 ///etc/aliases内容转换到/etc/aliases.db,使设置生效


 


设定.forward文件:


假设用户leozhang登录,


cd ~


vi .forward


fidelio                                         //.forward文件中添加要转到的用户邮箱,每个占一行


jason                                          //.forward文件中添加要转到的用户邮箱,每个占一行


slqleozhang@yahoo.com.cn         //.forward文件中添加要转到的用户邮箱,每个占一行


此文件保存后立即生效,保存推出后运行,


chmod 644 .forward                    //只有拥有者才能修改列表来提高安全性


 


察看邮件队列内容:


mailq 或者 sendmail –bp


-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------


k7TDIVMI001446      450 Tue Aug 29 21:18 <root@linux.slq.com>


                 (Deferred: 451 mta136.mail.cnb.yahoo.com Resources temporaril)


Q-ID:邮件的队列号。Size:邮件的大小。Q-Time:进入队列的时间。Sender/Recipient:发送与接受人的邮箱。


 


察看邮件服务器统计信息:


mailstats


M   msgsfr  bytes_from   msgsto    bytes_to  msgsrej msgsdis  Mailer


 3       41      19626K       67        183K        1       0  local


 4       23         48K      284        321K        1       0  smtp


 5       17         34K       36      19583K        5       0  esmtp


 9      294        479K      134        462K        0       0  procmail


=====================================================


 T      375      20187K      521      20549K        7       0


 C      364                  363                    7


M:是mailer的代号。msgsfr:从此服务器上发出去的邮件。

Msgsfr:代表本服务器发送的邮件数。

Bytes_from:发送出邮件的大小。

Msgsto:收到邮件数。

Bytes_to:首要邮件的大小。

Msgsrej:邮件被deny的次数。

Msgsdis:邮件被discard的次数。

Mailer:sendmail包含的mailer,esmtp主要对外,local主要处理本地的mail。

简单的DNS查询过程解释:【上一篇】
寻求合作伙伴(个人简历):【下一篇】
【相关文章】
  • sendmail翻译手册
  • sendmail服务器配置 这个不错~
  • sendmail简单配置
  • sendmail小结~~~~
  • sendmail安装笔记
  • Linux sendmail 的配置
  • linux下的sendmail
  • Rhel4下带sasl认证的Sendmail配置详解:
  • FreeBSD 里面完全禁止 sendmail
  • fc4 下 sendmail 安装问题
  • 【随机文章】
  • Linux系统中的入侵检测
  • 为Live.com Build一个Gadget的例子(二)
  • 天津本地网程控电话交换机时间自动同步方案(2)
  • 秋日游圆明园
  • 妙用SnagIt中的“剪贴板”
  • eprint技术支持
  • debug vs2005 empty project
  • 针对ARMSYS44B0X的minicom设置
  • PHP新手上路(十二)
  • 分区大小调整完全手册
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.