linux 通过SendMail 实现向外网发送邮件报警

xiaoxiao2021-02-28  174

原创内容,如需转载,请注明出处!

本身由于在安装主主热备高可用Mysql集群环境,需要涉及到Keepalived邮件报警,邮件报警又需要配置SendMail实现。因此,特写此文章记录本次经验。(本次内容仅涉及到SendMail部分,整个高可用Mysql集群配置,下次有时间再写。)

 

1.rpm -qa | grep mailx

center 7 自带12.5版本的mailx,如有可不用再次安装,

rpm -qa | grep sendmail

yum -y install sendmail

2.vim /etc/mail.rc添加下面两行

 

set from=123456@139.com smtp=smtp.139.com set smtp-auth-user=你的邮箱用户名  smtp-auth-password=你的邮箱密码 smtp-auth=login

 

重启sendmail

service sendmail restart

 

echo " 你的邮件内容" | mail -s "你的邮件主题" 收件地址,例如

echo "  Yes , So Good " | mail -s " this is Test Mail " 12345@qq.com

也可以查看某个文件内容发送邮件。如

cat hostip.txt | mail -s " this is Test Mail " 12345@qq.com

那么,我们就可以写几个自动执行的脚本,将监控结果输出至某个txt,然后将文件内容发送到你的邮箱

 

另外,如果想使用465端口进行发信,默认的是25端口,可以如下设置:

set ssl-verify=ignore set from=xxxxxxxx@aliyun.com set smtp="smtps://smtp.aliyun.com:465" set smtp-auth-user="xxxxxxxx@aliyun.com" smtp-auth-password="xxxxxx" smtp-auth=login set nss-config-dir=/etc/pki/nssdb

这样做的话,会提示一个证书未被信任的报错,但是不妨碍我们发送成功。发送时将结果输出到/dev/null就可以了。

这样的情况下,就可以避免25端口被封闭的情况下,使用ssl 465端口发信成功。

使用-a 携带附件的形式,我试过,很慢,以后发现有好的方法会告诉大家。

 

转载请注明原文地址: https://www.6miu.com/read-18300.html

最新回复(0)