方法一:利用sendmail 实现
成都创新互联专注于企业成都全网营销推广、网站重做改版、沈丘网站定制设计、自适应品牌网站建设、H5建站、电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为沈丘等各大城市提供网站开发制作服务。
首先安装软件 yum install -y sendmail* mailx
然后启动sendmail服务:
# service sendmail restart
然后发送测试邮件,验证sendmail的可用性:
# echo "Hello World" | mailabc@163.com
安装完成
nagios设置
默认nagios是支持调用sendmail发送邮件的所以这里只需要编辑/usr/local/nagios/etc/object下的contact.cfg文件,在email后添加管理员的邮箱即可。
define contact{
contact_name zhang1
use generic-contact
alias zhang1
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email zhang1@text.com ## 只需要修改这里即可
}
##第一个方法虽然配置简单,但是发送邮件到QQ邮箱或者139邮箱时 接受邮件的时间很长,发送到163邮箱就不会出现这个问题,这样对于使用QQ邮箱或者139邮箱的朋友 会延长发现故障的时间,所以可以采用第二种方法
方法二:利用msmtp 实现
首先安装软件 wegt http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure –prefix=/usr/local/msmtp
make
make install
安装完毕
配置msmtp账号
cd /usr/local/msmtp
mkdir etc #手动创建目录
vi /usr/local/msmtp/etc/msmtprc #手动创建文件 并复制一下内容
# Set default values for all following accounts.
defaults
logfile
/usr/local/msmtp/msmtp
.log
# The SMTP server of the provider.
account
test
# SMTP邮件服务器地址
host smtp.126.com #可以设置其他邮箱 如163
# 发送的邮件Email
from 11111@126.com #这里输入邮箱地址
auth login
# 邮件服务器登录账号
user 11111@126.com #与上面的地址相同
# 邮件服务器登陆密码
password 123456 #密码 明文的
# Set a default account
account default :
test
到此安装完成 想发送邮件需要安装 mutt来调用 msmtp
安装配置mutt
yum install mutt
编辑mutt配置文件
vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行
1 2 3 4 5 | set from= "11111@126.com" set sendmail= "/usr/local/msmtp/bin/msmtp" set use_from= yes set realname= "发件人" #这里设置的是发送的发件人名称 会在收到的邮件显示 可自定义 set editor= "vi" |
###发件地址必须与msmtp设置的账号相同,否则可能会出错。
3、测试一下mutt是否有效
命令语法 : echo “邮件内容” | mutt -s “邮件主题” 测试邮件地址
例: echo “test” |mutt -s “test” abcd@gmail.com
下面就可以使用mutt进行邮件收发了
nagios设置 ##修改红色处
nagios--- command.cfg
define command{
command_name notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
##这种方法虽然配置起来稍微负载 但是在发送邮件的速度上 是比sendmail要快的 ,目前网易的邮箱已经不支持 收到邮件短信提醒的功能了 但是139邮箱支持,所以我推荐使用第二种方法!!
介此 两种方法介绍完毕