/ 中存储网

fedora系统中安装配置sendmail邮件服务器步骤

2014-09-24 12:28:33 来源:中存储网

fedora系统中安装配置sendmail邮件服务器步骤:

首先setup命令看看sendmail  dovecot  saslauth 三个服务是不是都开机启动,确保开机启动

1.确认安装包(系统默认会安装上的)
rpm -qa |grep sendmail
出来提示:
sendmail-8.13.4-2
如果没有提示,则没有安装,则安装相应的rpm包

2.启动sendmail
首先:ps -ef |grep sendmail
查看有没有启动进程:
[root@cinemachoiceServer sysconfig]# ps -ef |grep sendmail
root     14130     1  0 16:27 ?        00:00:00 sendmail: accepting connections
smmsp    14136     1  0 16:27 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root     14222 12273  0 16:32 pts/0    00:00:00 grep sendmail

如果没有则首先启动:
    1。直接service sendmail start就行

    2。或者先find / -name sendmail 可以找到sendmail的路径:
 /var/lock/subsys/sendmail
 /etc/rc.d/init.d/sendmail
 /etc/sysconfig/sendmail
 /usr/lib/sendmail
 /usr/sbin/sendmail
 /usr/share/logwatch/scripts/services/sendmail
 运行/usr/sbin/sendmail start即可

3.修改监听地址(我的地址是192.168.1.251)
这一步通过下面步骤6来完成
 find / -name sendmail.cf
出来:/etc/mail/sendmail.cf
    然后修改sendmail.cf中的这么一行:
 dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
    改成
 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
    再重启sendmail
    service sendmail restart

4.测试开通25(iptables)
      首先确保防火墙打开了25端口。
[root@cinemachoiceServer sysconfig]# netstat -nlp |grep sendmail
tcp        0      0 192.168.1.251:25            0.0.0.0:*                   LISTEN      14130/sendmail: acc
      可以看到25端口打开了
    telnet 192.168.1.251 25出来下面信息表示sendmail已经在正常监听了。
[root@cinemachoiceServer sysconfig]# telnet 192.168.1.251 25
Trying 192.168.1.251...
Connected to 192.168.1.251 (192.168.1.251).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.4/8.13.4; Tue, 11 Apr 2006 16:47:36 +0800
相反下面的信息表示要不sendmail没有启动,要不的3部中没有修改好,要不防火墙没有打开25端口
Trying 192.168.1.251...
telnet: connect to address 192.168.1.251: Connection refused
telnet: Unable to connect to remote host: Connection refused

5.启动pop3
看安装dovecot没有(对应imap-2002d-2.i386.rpm)
rpm -qa dovecot
如果没有提示,则手动安装
service dovecot restart
然后netstat -tl
看看是不是在listen110端口
[root@cinemachoiceServer mail]# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 *:cvspserver                *:*                         LISTEN     
tcp        0      0 *:43908                     *:*                         LISTEN     
tcp        0      0 *:mysql                     *:*                         LISTEN     
tcp        0      0 *:sunrpc                    *:*                         LISTEN     
tcp        0      0 *:ftp                       *:*                         LISTEN     
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN     
tcp        0      0 localhost.localdomain:5335  *:*                         LISTEN     
tcp        0      0 192.168.1.251:smtp          *:*                         LISTEN     
tcp        0      0 *:imaps                     *:*                         LISTEN     
tcp        0      0 *:pop3s                     *:*                         LISTEN     
tcp        0      0 *:pop3                      *:*                         LISTEN     
tcp        0      0 *:imap                      *:*                         LISTEN     
tcp        0      0 *:http                      *:*                         LISTEN     
tcp        0      0 *:ssh                       *:*                         LISTEN     
tcp        0      0 *:https                     *:*                         LISTEN  

6.认证
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
vi /etc/mail/sendmail.mc
48行
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
49行
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl #刪掉這兩行前面的 dnl,注意:TRUST_AUTH_METH、define前面不要留有空格(vi 刪掉字:x)
105行
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 修改成-->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
vi /etc/mail/access
原来的保持,增加
192.168.0.0 RELAY                           /////李武军注释:这儿0代表的是网络名,网段。
makemap hash /etc/mail/access.db < /etc/mail/access
/etc/rc.d/init.d/saslauthd start
/etc/rc.d/init.d/sendmail start
chkconfig saslauthd on
chkconfig sendmail on
或者:
service saslauthd restart
service sendmail restart
service dovecot restart          //不开则foxmail收信显示“网络忙”
然后
telnet 192.168.1.251 25
输入
ehlo lcoal
结果如下
250-localhost.localdomain Hello mail.test.com [192.168.1.251], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
注:认证方式
 特别注意查看auth中是否有LOGIN PLAIN,不然总不能登陆。
如果没有使用plain 登陆,验证失败
 可以从:
 ps -ef|grep sasl  
=>root     18721     1  0 09:47 ?        00:00:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a shadow
看出来认证方式是shadow.
如果要修改对应: 
/usr/lib/sasl2/Sendmail.conf
内容:
pwcheck_method:saslauthd
///默认就是
/etc/rc.d/init.d/saslauthd
MECH=sasldb(默认是shadow) /etc/sysconfig/saslauthd
 MECH=sasldb(默认是shadow)

7.其他问题
邮件过滤与反垃圾
需要安装插件,
http://anti-spam.org.cn/可以参考