文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Sendmail邮件服务器

Sendmail邮件服务器

时间:2006-11-26  来源:wdrain

从http://www.sendmail.org下载最新版本

确认是否安装以下两个软件包

#rpm –q postfix

#rpm –q sendmail

删除已经安装的sendmail以及postfix软件

#rpm –e --nodeps sendmail

#rpm –e --nodeps postfix

需要按装:

cyrus-sasl,cyrus-sasl-plain,cyrus-sasl-devel,cyrus-sasl-gssapi,cyrus-sasl-md5.前面三个是必须要安装的。

#rpm –qa | grep sasl    :查询是否安装

检查dns服务器配置文件中是否有mx和A纪录类型

#host –t MX test.com

 

编译安装过程

#tar zxvf sendmail-8.13.8.tar.gz

#cd sendmail-8.13.8/

增加用户认证库sasl

#vi devtools/Site/site.confg.m4

       增加:APPENDDEF(`confENVDEF’,`-DSASL=2’)

                APPENDDEF(`conf_sendmail_LIBS’,`-lsasl2’)

#sh Build –c  :如果以前编译过要加 –c 参数

#rpm –q m4  :确认m4已经安装

#sh Build install

#mkdir /usr/share/sendmail

#cp –a cf /usr/share/sendmail

#cd cf/cf

#cp generic-linux.mc sendmail.mc

#mkdir /etc/mail

#make install-cf

#cp sendmail.mc /etc/mail

#cd /etc/mail

#touch aliases access

#echo “test.com” > local-host-names

#echo “mail.test.com” >> local-host-names

#makemap hash access < access

#makemap hash aliases < aliases

生成两个.db文件

如果没有makemap命令需 # sh Build install

#mkdir /var/spool/mqueue  :保存邮件的发送队列

#/usr/sbin/sendmail –bd –q1h

       -bd : 在后台运行   -q1h:邮件队列一小时处理一次

启动没有提示错误说明服务器已经启动起来了

#ps aux | grep sendmail  : 查看是否有sendmail进程

 

测试发信

#netstat –tnl | grep :25   :查看是否有25号端口处于监听状态

#useradd test

#passwd test  :增加收信帐号

#echo “root:  test” >> /etc/mail/aliases :默认root用户是不能收发信的,所以增加一个别名帐号

#newaliases

#telnet localhost 25

       Mail from:  [email protected]

       Rcpt to:  [email protected]

       Data

       This is a test information

       .

       Quit

#tail  /var/log/maillog

       查看日志文件,最后的stat=send 表明邮件已经发出去。

#su – test :切换到test用户

#mail  :收信

 

启动收信服务器

#rpm –ivh /mnt/cdrom/Redhat/RPM/imap-*.rpm

#chkconfig imap on 

#service xinetd restart  :imap需要靠xinetd启动

#grep imap /etc/services  :过滤imap服务的端口号

#netstat –tnl | grep :143  :查看是否有143端口

使用outlook测试

       <略>

到这里为止仅限于在服务器上收发信,要在局域网中收发信还需要配置----转发功能

RELAY---转发配置

#cd /etc/mail

#vi sendmail,mc

       添加:FEATURE(` access_db’)dnl  :在第三行添加

                include(`/usr/share/sendmail/cf/m4/cf.m4’)dnl  :在第二行添加

#m4 sendmail.mc > sendmail.cf

#echo “10.0.0   RELAY” >> access

#makemap hash access < access

#ls –l

#killall sendmail

#sendmail –bd –q1h

然后再局域网另外一台主机测试发信

<略>

注:在这个过程中如果发信不成功大多是由dns造成的,可以使用:

           #host –t MX gmail.com   :测试目标域是否有问题

           #host –t MX test.com     :测试本地域是否有问题

           #host mail.test.com

           #ifconfig | grep –i addr   :检查本机地址是否和邮件地址一样

           #tail /var/log/maillog   : 检查邮件日志

如果你的客户机的地址是变化的,需要增加用户认证。

首先删掉access文件

#cd /etc/mail

#rm access

#> access   :创建access文件

#makemap hash access < access     :创建access.db文件

#killalll sendmail

#sendmail –bd –q1h

然后再用outlook发信,看是否能发送出去。应该不能发送!!

 

增加用户认证,用户无论在哪里都可以发信。

#cd /etc/mail

#vi sendmail.mc

           添加:include(`/usr/share/sendmail/cf/m4/cf.m4’)dnl

                    define(`confAUTH_OPTIONS’,`A  y’)dnl

                    TRUST_AUTH_MECH(`LOGIN  PLAIN’)dnl

                    define(`confAUTH_MECHANISMS’,`LOGIN  PLAIN’)dnl

#m4 sendmail.mc > sendmail.cf

#chkconfig saslauthd on

#service saslauthd restart

#echo “pwcheck_method:saslauthd” > /usr/lib/sasl2/Sendmail.conf  :增加认证方式

#killall sendmail

#sendmail –bd –q1h

 

测试用户认证

#netstat –tnl | grep :25

#telnet localhost 25

  ehlo localhost

  …….

250-AUTH LOGIN PLAIN (说明打开的用户认证机制)

……

Quit

再次测试用outlook发信,应该可以成功发信!!

注:在outlook帐户属性中打开  ”我的服务器要求身份验证”

 

用户别名

对于uid 500以下的用户都要设置别名,因为他们是无法收发信的

修改/etc/mail/aliases 文件:

Postmaster:  root

Daemon:  root

Bin:  root

Sys:  root

….

Root:  test

….

#newaliases

#killall sendmail

#sendmail  -bd –q1h   :重新启动sendmail服务器

Sendmail的配置文件位于:

/usr/share/sendmail/cf/README

 

激活安全的imaps

Imaps=imap+ssl(基于ssl的安全imap协议)

#chkconfig imap off

#chkconfig imaps on

#service xinetd restart

#grep imaps /etc/services  :查看imaps协议的端口号

#netstat –tnl | grep 993   :检查是否有993端口处于监听模式

 

用outlook测试

       注:在outlook帐户属性中设置“此服务器要求安全连接(ssl)”

 

 

参考资料

       /usr/share/sendmail/cf/README

       http://www.sendmail.org

       http://www.sendmail.org/other-sendmail-links.html

       http://www.postfix.org

       新闻组news:// comp.mail.sendmail/

相关阅读 更多 +
排行榜 更多 +
少女爱换装

少女爱换装

休闲益智 下载
百变英雄射击

百变英雄射击

飞行射击 下载
魔灵契约

魔灵契约

休闲益智 下载