利用sendmail构建mail服务器

参考文章:
http://www.slackbasics.org/html/sendmail.html
http://www.freeworld.net.cn/Article/Catalog117/34322.html
http://www.sudu.cn/info/html/edu/mail_system/20071226/43422.html

0-1 首先#localte sendmail或者#pkgtool查看下是否系统已经预安装好sendmail了
如果没有则#wget http://www.sendmail.org/…./sendmail-8.14.2.tar.gz
然后#tar zxvf sendmail….解压缩后, #sh Build #sh Build install安装。
0-2 辅助工作,首先查看isp处的mx纪录是否生效了
#nslookup  mail.xxx.com 
然后看看反向查询
#nslookup 123.123.12.12,这里要注意mail.xx.com的A纪录要设,仅仅是mx不够。

1 初步设置sendmail的daemon
# chmod a+x /etc/rc.d/rc.sendmail
# /etc/rc.d/rc.sendmail restart
# vi etc/inetd.conf.

2 查看inetd.conf开启pop3和imap
# POP and IMAP mail servers
# Post Office Protocol version 3 (POP3) server:
pop3    stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popa3d
# Internet Message Access Protocol (IMAP) server:
imap2   stream  tcp     nowait  root    /usr/sbin/tcpd  imapd

3 查看25和110端口是否工作
#nmap localhost
PORT    STATE SERVICE
25/tcp  open  smtp
110/tcp open  pop3
143/tcp open  imap
4 至此,该基本可以工作了。
5 通过m4宏设置cf
做好备份
# cp /usr/share/sendmail/cf/cf/sendmail-xxxxxxx.mc /usr/share/sendmail/cf/cf/sendmail-xxxxxx.mc.orig
修改该mc
# vi /usr/share/sendmail/cf/cf/sendmail-xxxxx.mc
生成cf
# cd /usr/share/sendmail/cf/cf
# m4 sendmail-xxxx.mc > sendmail-xxxxx.cf
# cp ./sendmail-xxxx.cf  /etc/mail/sendmail.cf

6注意客户端的问题
许多人所说的
#edit /etc/sendmail.cf
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
代替为
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA
的方法在8。14。2上面不好用, 还是用原装的 mc文件m4出来的sendmail.cf耗用。

问题:
Q1:
如果能收不能发, 一般是relay有问题,需要
#vi access  添加217.0.0.1 relay , 然后
#make 到access.db
如果像确认,可以#db_dump access.db看清楚。
Q2:
如果本机可以收也可以发了, 但是用outlook或者foxmail却只能收不能发,就把foxmail机器所在的域段也加入到access,可以根据client提示

的信息,例如550 5.7.1 <mrlsg@21cn.com>;…Relaying denied.IP name lookup failed [192.168.70.253 ] ,那么#vi access 添加

192.168     relay, #make  #rc.sendmail restart。
这是因为access里面只允许了本机(127。0。0。1)可以relay,你如果在其他域段(例如拨号上网或者出差了)和时候用这个位置的ip发信则

服务器就reject了。
Q3:
如果sendmail的daemon在restart的时候出现错误,sendmail:451 4.0.0 can not chdir(‘/var/spool/mqueue/q*’/):no such file or

directory ,则到提示路径#mkdir “mqueque”即可。

Q4:
如果服务器本身可以receive/send mail,而客户端例如outlook/foxmail不能r/send, 启动sasl#service saslauthd start是一种偏门解决办

法,# service  saslauthd  start 启动后是能发邮了,但却不要求client输入密码就直接发送了。

0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表评论