码迷,mamicode.com
首页 > 其他好文 > 详细

centos7.3安装sendEmail并发送邮件

时间:2018-08-08 14:50:51      阅读:1799      评论:0      收藏:0      [点我收藏+]

标签:menu   roo   $?   表示   email   sendemail   tac   lang   命令   

下载和安装
#下载安装包
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 hhh@163.com -t 123456789@qq.com -s smtp.163.com -u "报.警测试"-xu hhh@163.com -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.

在网上查找了一下发现http://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 aaa@xyz.com -t hhh@163.com -s smtp.qiye.aliyun.com -u "报警测试" -xu aaa@xyz.com -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: <aaa@xyz.com> To: <hhh@163.com> Subject: [报警测试] Server: [smtp.qiye.aliyun.com:25]

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

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

centos7.3安装sendEmail并发送邮件

标签:menu   roo   $?   表示   email   sendemail   tac   lang   命令   

原文地址:http://blog.51cto.com/888888hfer/2156197

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!