下载和安装
#下载安装包
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
#创建目录
mkdir -p /usr/local/bin
#解压
tar zxf sendEmail-v1.56.tar.gz -C /usr/src/
#进入解压目录
cd /usr/src/sendEmail-v1.56/
#复制程序到指定目录
cp -a sendEmail /usr/local/bin/
#给执行权限
chmod +x /usr/local/bin/sendEmail
#安装组件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
发送邮件测试
#创建发件记录日志文件
mkdir -p /var/log
touch /var/log/sendMyEmail.log
#发送邮件
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "报.警测试"-xu [email protected] -xp @453163.com -m "test-1234567890" -l /var/log/sendMyEmail.log

执行完以上命令之后会报一个错,邮件发送失败

*******************************************************************
 Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
 is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
 possibly with SSL_ca_file|SSL_ca_path for verification.
 If you really don't want to verify the certificate and keep the
 connection open to Man-In-The-Middle attacks please set
 SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
  at /usr/local/bin/sendEmail line 1906.
invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 444.

在网上查找了一下发现https://blog.51cto.com/hequan/1811246 这里遇到的错误几乎是和我一样的。centos7.3默认的Perl版本是5.16,使用sendEmail-v1.56似乎要使用5.10版本的Perl才能够成功发送邮件。

下载并安装Perl-5.10
wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz
tar zxf perl-5.10.0.tar.gz
cd perl-5.10.0
./configure.gnu -des -Dprefix=/usr/local/perl
echo $?    #返回0,编译没问题
make
make test
make install
备份原来的Perl
mv /usr/bin/perl /usr/bin/perl.bak
ln -s /usr/local/perl/bin/perl /usr/bin/perl
#查看Perl版本,显示5.10表示已经成功
perl -v
发邮件测试
[root@localhost perl-5.10.0]# /usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.qiye.aliyun.com -u "报警测试" -xu [email protected] -xp rxjy0.101 -m "test-中文" -o message-charset=utf-8 -l /var/log/sendMyEmail.log
Jul 28 14:02:06 localhost sendEmail[4847]: Email was sent successfully!  From:  To:  Subject: [报警测试] Server: [smtp.qiye.aliyun.com:25]

看到以上的返回信息表示已经发邮件成功,可以去收件箱确认一下,如果收件箱没有,可能是在垃圾邮件里面。
[email protected] 是用的阿里企业邮箱,[email protected]是自己的邮箱

/usr/local/bin/sendEmail        命令主程序
-f [email protected]                 发件人邮箱
-t [email protected]                   收件人邮箱
-s smtp.163.com                 发件人邮箱的smtp服务器
-u "我是邮件主题"                 邮件的标题
-o message-content-type=html    邮件内容的格式,html表示它是html格式
-o message-charset=utf8         邮件内容编码
-xu [email protected]                发件人邮箱的用户名
-xp 123456                      发件人邮箱密码
-m "我是邮件内容"                 邮件的具体内容
-l /var/log/sendMyEmail.log     非必输项,邮件发送日志记录到日志文