1.安裝sendmail:
sendmail下載
解壓后進入文件夾,將sendEmail移動到/usr/local/bin
cd sendEmail-v1.56
cp sendEmail /usr/local/bin
2.獲取郵件發送授權碼
登錄郵箱-->設置-->賬戶
image.png
image.png
image.png
3.發送郵件第一坑
sendEmail -f sender@qq.com -t receiver@qq.com -s smtp.qq.com -xu sender@qq.com -xp 123456 -u "The title" -m "this is content"
-f 表示發送者的郵箱
-t 表示接收者的郵箱
-s 表示SMTP服務器的域名或者ip
-u 表示郵件的主題
-xu 表示SMTP驗證的用戶名
-xp 授權碼
-m 表示郵件的內容
然后會報異常:
invalid SSL_version specified at /System/Library/Perl/Extras/5.18/IO/Socket/SSL.pm line 368.
原因是:
解決方案:增加參數-o tls=no 選項,
4.發送郵件第二坑
sendEmail -f sender@qq.com -t receiver@qq.com -s smtp.qq.com -xu sender@qq.com -xp 123456 -u "The title" -m "this is content" -o tls=no
又報異常
sendEmail[21044]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.qq.com:25 failed.
原因是:阿里云屏蔽了非SSL鏈接的25發送郵件端口
5.終極解決方案:
5.1 在/etc/ssl/certs 目錄下增加3個db
Firefox瀏覽器*.db文件(cert8.db、key3.db、secmod.db)以支持SSL的方式發送郵件示,三個db存的是證書,公鑰,私鑰
找不到的可以在這個地址下載 https://dn-zhangguoli.qbox.me/mail.rc_ssl.crt.zip
5.2 配置/etc/mail.rc
# 發件人
set from= sender@qq.com
# 設置郵件發送使用465端口
set smtp=smtp.qq.com:465
# 登錄郵箱帳號
set smtp-auth-user=sender@qq.com
# 密碼是步驟2中的授權碼
set smtp-auth-password=xxxxx
set smtp-auth=login
#啟用ssl加密
set smtp-user-starttls
set ssl-verify=ignore
#ssl的加密證書
set nss-config-dir=/etc/ssl/certs
6. 郵件發送
echo "this is content" | mail -s 'this is title' receive@qq.com
參考文章:http://blog.51cto.com/735526/2112807 感謝
如果錯誤:歡迎拍磚