注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 科普系列之-使用Windows的..
 帮助

进入sendmail的世界


2007-05-20 22:18:32
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://kingdee.blog.51cto.com/98119/27482
    SENDMAIL 配置笔记
 
一:安装篇
[root@redhatlinux9 RPMS]# rpm -qa | grep sendmail
sendmail-8.12.8-4 
sendmail-doc-8.12.8-4 
sendmail-cf-8.12.8-4   
 
m4-1.4.1-13.i386.rpm  这三个rpm是提供POP3的
imap-2001a-18.i386.rpm 
imap-devel-2001a-1.72.0
 
#rpm -qa|grep sasl   SMTP认证功能
cyrus-sasl-2.1.10-4
cyrus-sasl-plain-2.1.10-4
cyrus-sasl-devel-2.1.10-4
cyrus-sasl-md5-2.1.10-4
 
二:文件区
/etc/mail/sendmail.cf  #主配置文件,一般用M4来编辑
/etc/mail/sendmai.mc   #M4配置文件
/etc/xinetd.d/imap   #imap配置文件
/etc/mail/access.db   #规定谁可以或不可以使用邮件服务器数据库
/etc/mail/aliases.db  #别名数据库
/etc/mail/statistics  #收发信件相关信息
/etc/mail/local-host-names   #声明收发邮件的主机名
 /var/spool/mail    #每个用户信件放置目录
 
三:编译篇
m4 /etc/sendmail.mc > /etc/mail/sendmail.cf  #编译sendmail.mc以产生需要的cf文件
然后在编译过的sendmail.cf中查找Cw,在其后加入邮件服务器名、域名,这样可以保证当你以username@mail.domain.comusername@domain.com发信时,用户都可以收到。
 
四:启动服务器
[root@redhatlinux9 RPMS]# pstree | grep sendmail  检查是否启动
chkconfig ipop3 on  #开启pop服务
chkconfig imap on   #开启imap服务
此两种服务需要xinetd的支持。service xintetd restart  (/etc/xinetd.d)
 
启动收信服务:
[root@redhatlinux9 root]# vi /etc/xinetd.d/ipop3
disable  = yes  改为:
disable  = no
[root@redhatlinux9 root]# vi /etc/xinetd.d/imap
disable = yes  改为:
disable = no
chkconfig ipop3 on  #开启pop服务
chkconfig imap on   #开启imap服务
[root@redhatlinux9 root]# /usr/sbin/sendmail -bd -q30m
  -- -bd:表示将以daemon形式启动
  -q:后接时间参数。表示每隔30分钟将邮件列表常识寄出一次
 
五:配置篇
A.添加可以用来收发信件的主机名:
[root@redhatlinux9 root]# vi /etc/mail/local-host-names
xyz.com
mail.xyz.com  
 
B.编辑可使用服务器权限(RELAY权限)
[root@redhatlinux9 RPMS]# vi /etc/mail/access 
规定范围                     可执行操作
ip/ip/主机名/E-mail    RELAY/DISCARD/REJECT  接受/丢弃/拒绝并回传错误信息
localhost    RELAY
192.168.0    RELAY
h8h.com      DISCARD
55@3.com     REJECT
[root@redhatlinux9 root]# makemap hash /etc/mail/access.db < /etc/mail/access   #服务器读取的是数据库文件,所以编辑完后要改写成数据库
 
C.设置用户别名
/etc/mail/aliases
情况1:群组寄信功能
收件者帐号                真实帐号
wangwei(此号可随便取)    aaa, bbb,  ccc     #则发给wangwei的信会发给abc三个人
 
情况2:设置用户别名和备分
a1:    a2    #则发给a1a2的信都可用a2这个帐号来收取。两个号只需a2这一个实体号即可
b1  b1 j@163.com  #发给b1的信,还会额外寄到j@163.com
 
情况3:文件类型的别名include
vi /etc/mail/student    #这个文件可以随便创建一个
zhangsan, \
lisi,     \
...
wangwu   #最后一个帐号后不能加符号
vi /etc/mail/aliases
student: :include:/etc/mail/student    #这样文件显得更整洁
 
D.信件列表与Mailer中的统计状态
暂时无法发送的信件每隔60分钟尝试重新传送.
修改时间:/etc/sysconfig/sendmail QUEUE=30m  修改为30分钟
[root@redhatlinux9 root]# mailq  #查看信件列表
 
[root@redhatlinux9 root]# mailstats   #查看统计状态
 M   msgsfr   bytes_from   msgsto   bytes_to   msgsrej   msgsdis   mailer
代号 发信数量   发信容量   收信数   收信容量    拒绝数    丢弃数   工作者
M下的代号T表示总和 
 
注意事项:
[root@redhatlinux9 RPMS]# netstat -tnl 
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN  #这个监听的是回环口,要改成对外的网卡IP,修改如下:
[root@redhatlinux9 RPMS]# vi /etc/mail/sendmail.cf
O DaemonPortOptions=Port=smtpAddr=127.0.0.1Name=MTA
更改为
O DaemonPortOptions=Port=smtpAddr=10.0.0.100Name=MTA
 
SMTP认证:虽然access可以进行RELAY,但是如果要RELAY的网段不是固定的,则不行。
vi /etc/mail/sendmail.mc
dnl TRUST_AUTH_MECH`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl
dnl define`confAUTH_MECHANISMS'`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl
DAEMON_OPTIONS`Port=smtpAddr=127.0.0.1Name=MTA'dn1
修改为:
TRUST_AUTH_MECH`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl
define`confAUTH_MECHANISMS'`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl
DAEMON_OPTIONS`Port=smtpAddr=192.168.1.200,Name=MTA'dn1
 
m4 sendmail.mc > sendmail.cf  再编译一下cf
 
procmail:信件过滤  redhat默认已开启

本文出自 “金蝶软件帮助客户成功” 博客,请务必保留此出处http://kingdee.blog.51cto.com/98119/27482





    文章评论
 
2007-05-21 19:53:57
收藏啦,以前没有用过这个SENDMAIL。现在回去马上试试

2007-07-02 23:47:25
sendmail我们北大青鸟教的就是这个!可以装个WEBMIN用于维护很好用!!

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: