下載和安裝
#下載安裝包
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.
在網上查找了一下發現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 [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: <[email protected]> To: <[email protected]> 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 非必輸項,郵件發送日誌記錄到日誌文