sendEmail发送邮件

概述

最近学习zabbix,想触发告警时发送邮件,准备使用sendEmail发送邮件,原以为很简单的事情,还是踩了一些坑,记录如下。

Step 1 安装sendEmail

sendEmail官网 http://caspian.dotconf.net/menu/Software/SendEmail/

安装方法:

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -xzvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56/
cp sendEmail /usr/local/bin/

Step 2 发送邮件

发送qq邮件:

首先找到qq邮箱smtp设置处,拿到授权码:

登录qq邮箱,设置,找到如下界面:

qq.png

关闭再开启,可获得授权码。

发送:

/usr/local/bin/sendEmail -f [email protected] \ 
-t [email protected] \ 
-s smtp.qq.com \ 
-u "邮件主题" \
-o message-content-type=html \
-o message-charset=utf-8 \
-xu [email protected] \ 
-xp pepltaflcvuniied \
-m "邮件内容"

sendEmail[1925]: ERROR => Timeout while reading from smtp.qq.com:25 There was no response after 60 seconds.
-f [email protected]           发件人邮箱
-t [email protected]           收件人邮箱
-s smtp.qq.com                 发件人邮箱的smtp服务器
-u "邮件标题"                   邮件的标题
-o message-content-type=html   邮件内容的格式,html表示它是html格式
-o message-charset=utf8        邮件内容编码
-xu [email protected]          发件人邮箱的用户名
-xp pepltaflcvuniied           发件人邮箱smtp授权码
-m "邮件内容"                   邮件的具体内容

Timeout?咋回事呢,试用465和587端口,一样不行:

/usr/local/bin/sendEmail -f [email protected] \ 
-t [email protected] \ 
-s smtp.qq.com:465 \ 
-u "邮件主题" \
-o message-content-type=html \
-o message-charset=utf-8 \
-xu [email protected] \ 
-xp pepltaflcvuniied \
-m "邮件内容"

sendEmail[3950]: ERROR => Timeout while reading from smtp.qq.com:465 There was no response after 60 seconds.

意思是邮件不让发了呗?不纠结了,换163试试。

发送163邮件

找到163邮箱,设置,找到如下图:


1631.png

开启smtp服务,然后找到客户端授权密码:

1632.png

关闭再开启,可自己设置授权密码。
发送:

/usr/local/bin/sendEmail -f [email protected] \
-t [email protected] \
-s smtp.163.com \
-u "邮件主题" \
-o message-content-type=html \
-o message-charset=utf-8 \
-xu [email protected] \
-xp cloudtest123 \
-m "邮件内容"

sendEmail[4753]: invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 575.

又怎么了?网上查了下,是perl版本问题,添加 -o tls=no 参数即可解决,参考 https://www.cnblogs.com/fjping0606/p/6774348.html

/usr/local/bin/sendEmail -f [email protected] \
-t [email protected] \
-s smtp.163.com \
-u "邮件主题" \
-o message-content-type=html \
-o message-charset=utf-8 \
-xu [email protected] \
-xp cloudtest123 \
-m "邮件内容" \
-o tls=no

sendEmail[5120]: Email was sent successfully!

查看邮箱验证:


1633.png

大功告成,下面可以愉快地配置zabbix邮件告警了!

你可能感兴趣的:(sendEmail发送邮件)