前段时间屡屡不顺心,confluence验证密码不对劲,tomcat里java的path又设定有问题,总是卡在配置的路上让人很恼火,无法完成 task让人更上火,于是就没心没肺猛玩了两天也猛睡了两天,把黑眼圈消了消,精神好像好了很多,于是乎就继续重振旗鼓要继续一个一个的解决问题。
zabbix一般来说使用msmtp来发送邮件通知运维人员服务器出问题了,如果公司比较穷,没有自己的邮件服务器的话,那么搭建一个邮件环境是必需的,本人是虚拟机,系统是centos 6.7。
因为是做实验,所以直接用了root账户登录,但是在实际生产的时候,是不可能把root账号随便给人的,所以先说一下root 账号的操作邮件情况,然后再说一下其他账号登陆的情况。
#wget https://sourceforge.net/projects/msmtp/files/msmtp/1.6.5/msmtp-1.6.5.tar.xz/download
下载1.6.5版本的msmtp先。
msmtp就是运维员有两个邮件,msmtp使用邮件A给邮件B发信息,我的邮件A是新浪的邮件,B邮箱是网易的。root账户下,先#cd /usr/local/msmtp/etc/,然后#touch msmtprc,这是一个配置文件,具体配置如下:
原理上来说,配置完毕就可以# /usr/local/msmtp/bin/msmtp B邮箱地址,回车之后输入正文内容,然后ctrl+D发送这个邮件,但是这样的话,会发现ctrl+D也是不好使的,不报错但是接收不到,而且因为没报错,在日志文件里显示是OK,而在A邮箱发现有发送失败的系统退信。
这个时候安装一下mutt,#yum -y install mutt,然后#mv /etc/Muttrc Muttrc.back,因为Muttrc原来是存在的,但是里面稀里哗啦一大片不是需要的东西,于是就先改个名字,再重新touch一个,这个起名叫Muttrc,然后里面具体的配置如下:
这样,几个关于msmtp的重要文件位置如下:
msmtp的执行文件地址是:/usr/local/msmtp/bin/msmtp
msmtp的配置文件地址是:/usr/local/msmtp/etc/msmtprc
msmtp的日志文件地址是:/usr/local/msmtp/msmtp.log
配置完毕之后,就可以#echo "邮件内容" | mutt -s "邮件的标题" 邮箱B的地址。
输入之后回车不报错就是发送成功了,发送成功的日志信息的显示应该是:
如果需要在邮件里加入附件,格式如下:#echo "邮件内容" | mutt -s "邮件标题" -a 附件的绝对路径 邮箱B的地址要多加附件,那么就多加-a就行。
如果这个方法报错,提示“无法stat chenx1242@163.com:没有那个文件或目录 无法添加邮件”的话,那么换一个语句:
# mutt -s "邮件标题" chenx1242@163.com -a 附件的绝对路径
我这里在桌面touch了一个111.txt,里面加上了两句话,然后发送到我的163邮箱,验证这个方法是OK的。
我这里没有使用echo加入邮件的正文,输入这个发送邮件的命令之后,界面会变,问你是否要建立一个email文件,我选择了no,然后界面如下:
如果使用了echo加入了正文,比如# echo "I love Perfume"|mutt -s "兔子窝" chenx1242@163.com -a /root/桌面/111.txt ,那么就不会出现那个界面,而是直接发送成功。
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1736651