在實際生產環境中,咱們的服務器不免會發生故障,這時候就須要有郵件通知運維人員,及時查出問題,解決問題。因此郵件服務在生產中有着不可或缺的做用!vim
操做系統:CentOS 7 64位服務器
yum install mailx -y運維
vim /etc/mail.rc
在末行插入:
set from=**2664@qq.com #涉及隱私,未展現出帳號
set smtp=smtp.qq.com
set smtp-auth-user=**2664@qq.com #涉及隱私,未展現出帳號
set smtp-auth-password=郵箱密碼 #涉及隱私,未展現出密碼
set smtp-auth=loginide
echo "hello world" | mail -s "testmail" 1***2664@qq.com post
你會發現郵件沒法發送出去,報警信息以下圖:測試
這時候,你要檢查帳戶密碼是否輸入正確,在你再三確認後,你發現依舊發送失敗,幾近崩潰!
其實,這是騰訊給挖的坑,騰訊郵箱須要開啓客戶端受權碼進行第三方登陸驗證。阿里雲解決辦法:
1.打開本身的騰訊郵箱,「設置」---「帳戶」--「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務」操作系統
2.在IMAP/SMTP服務一欄右側單擊"開啓",會彈出一個密保驗證窗口,根據提示,發送短信驗證rest
3.點擊」我已發送「,會自動生成受權碼,要記住此受權碼!
4.在郵件配置中郵件密碼換成受權碼
vim /etc/mail.rc
set smtp-auth-password=受權碼 #涉及隱私,未展現出受權碼日誌
5.重啓郵件服務
systemctl restart postfix再次測試,若是你的服務器不是阿里雲服務器,可能沒問題了,但要是阿里雲的服務器,就會發現郵件服務啓動都失敗了,白忙活了?
不是的,這裏還有另外一個坑!
重啓服務會報錯,以下圖:
查看日誌或查看郵件狀態,以便得到故障緣由
進入主配置文件main.cf, 定位inet_interfaces參數
vim /etc/postfix/main.cf
緣由猜想:本地接口不支持ipv6協議,改協議類型爲ipv4
posfix 服務重啓,發送測試郵件驗證
問題解決,因而我又試了改本地接口爲all(支持全部),以下:
posfix 服務重啓,再次發送測試郵件驗證
問題解決,我接着把修改接口爲all,協議類型爲ipv4,以下:
posfix 服務重啓,再次發送測試郵件驗證
踩坑總結:我對故障的猜想是對的,本地接口(localhost)不支持ipv6協議,以上3種方法都是正確修改,概括一下:
通常狀況下,應該不會碰到,排了上面3個坑後,其餘配置正常,郵件仍是沒法發出,報錯以下圖:
我碰到過這個報錯,緣由是個人qq郵箱在多個服務器上面同時登錄,騰訊官網不支持郵箱同時登錄!
解決方法:
1.切換登錄qq郵箱帳號,使用其餘qq帳號或其餘種類郵箱,如139郵箱,163郵箱等。
2.不要同時啓動郵件服務,在一臺服務器上面登錄,其餘服務器上面中止posfix 服務。
1.本文寫出qq郵箱第三方登錄受權方法,而139郵箱,163郵箱第三方受權設置方法相似,文章未寫出,由於如今使用qq郵箱的人仍是最多的!2.通過個人幾回安裝postfix對比,不是阿里雲的服務器,不會踩坑二的。3.初次安裝postfix 服務,遇到的坑比較多,不要慌,要看報錯信息,不懂得,能夠百度一下。若沒有報錯信息,能夠查看日誌,要養成查日誌的好習慣。4.文章中出現的全部坑,我是經過查日誌和上網搜索,還有本身的總結出來的,如有類似部分,是參考借鑑,並不是抄襲!