2015年三月22号

本文的操作适用于centos  redhat   fedora

这几天我一直在为nagios报警邮件苦恼,nagios默认的发送使用sendmail发送,sendmail的内部配置特别麻烦,

折腾过来,折腾过去也没有发送成功,因为要发送的是报警的邮件,所以最后选择了用外部的smpt服务器发送

首先安装sendmail


用yum源安装

yum源是使用的epel  fedora的网络yum源

http://fedoraproject.org/wiki/EPEL下载适合版本的yum源

然后用rpm安装epel

安装完epel后yum能直接使用,无需配置

[root@localhost ~]# yum install sendmail

安装完后启动sendmail

/etc/init.d/sendmail  start

如果出现失败的提示有可能是其他的postfix 进程占用了25号端口 停止占用的进程后启动sendmail

利用外部的smpt服务器

而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:

修改/etc/nail.rc (/etc/mail.rc)
set from=Username@domain.com smtp=smtp.domain.com smtp-auth-user=username smtp-auth-password=password smtp-auth=login
说明:
from是发送的邮件地址 例如 username@126.com
smtp是发生的外部smtp服务器的地址例如  smtp.126.com
smtp-auth-user是外部smtp服务器认证的用户名 没有后缀的用户名 username
smtp-auth-password是外部smtp服务器认证的用户密码 password
smtp-auth是邮件认证的方式login
配置成功后,就可以使用了 
可以发送一封邮件测试一下:
mail -s "test" username@126.com <test.txt 其中-s后面的是邮件标题,usenamer@126.com是收件人地址,test.txt里面是邮件正文

也可以这样  echo “hello tom” |  mail -s “test” username@126.com