Linux配置sendmail發送郵件.md

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 感謝
如果錯誤:歡迎拍磚

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容