1、下载sendEmail
#下载安装包
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
2、发送邮件脚本(注意:相关数据进行了打码):
#邮件发送脚本
#!/bin/bash
#收件人邮箱
EMAIL_RECIVER="xxx@qq.com"
#发送人邮箱
EMAIL_SENDER=xxx@sina.cn
#邮箱用户名
EMAIL_USERNAME=xxx@sina.cn
#邮箱密码,非账户密码,是开启smtp服务的授权码
#使用qq邮箱进行发送需要注意:首先需要开启:POP3/SMTP服务,其次发送邮件的密码需要使用在开启POP3/SMTP服务时候腾讯提供的第三方客户端登陆码。
EMAIL_PASSWORD=xxxx
#附件路径
FILE1_PATH="/home/xxx/bakup/bak/mysql/$1/blog.sql"
FILE2_PATH="/home/xxx/tools/readme.md"
#smtp服务器地址
EMAIL_SMTPHOST=smtp.sina.cn
EMAIL_TITLE="数据库备份"
EMAIL_CONTENT="数据库备份成功,已上传!"
echo '开始发送邮件'
/home/shares/tools/sendEmail-v1.56/sendEmail -f ${EMAIL_SENDER} -t ${EMAIL_RECIVER} -s ${EMAIL_SMTPHOST} -u ${EMAIL_TITLE} -xu ${EMAIL_USERNAME} -xp ${EMAIL_PASSWORD} -m ${EMAIL_CONTENT} -a ${FILE1_PATH} ${FILE2_PATH} -o message-charset=utf-8 -l /home/shares/bakup/logs/sendEmail.log
echo '结束发送邮件'
3、运行报错信息:
*******************************************************************
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/xxx/perl5/vendor_perl/IO/Socket/SSL.pm line 444.
错误原因:
centos7.3默认的Perl版本是5.16,使用sendEmail-v1.56似乎要使用5.10版本的Perl才能够成功发送邮件。
4、下载正确的版本:
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
5、查看Perl版本,显示5.10表示已经成功
[root@yarcl bakup]# perl -v
This is perl, v5.10.0 built for x86_64-linux
Copyright 1987-2007, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
6、执行脚本命令
[root@yarcl bin]# ./sendEmail.sh 20200110
开始发送邮件
Jan 10 20:11:25 xxx sendEmail[30427]: Email was sent successfully! From: <xxxx@sina.cn> To: <xxxx@qq.com> Subject: [数据库备份] Attachment(s): [blog.sql] [readme.md] Server: [smtp.sina.cn:25]
结束发送邮件
7、接收到的邮件图片