1. 程式人生 > >阿裏雲服務器安裝postfix--郵箱服務(排坑過程詳解)

阿裏雲服務器安裝postfix--郵箱服務(排坑過程詳解)

ebe ipv6協議 oss 獲得 是否 smt mage 參考 協議類型

一、郵件服務需求

在實際生產環境中,我們的服務器難免會發生故障,這時候就需要有郵件通知運維人員,及時查出問題,解決問題。所以郵件服務在生產中有著不可或缺的作用!

二、操作環境

操作系統:CentOS 7 64位

三、安裝步驟

1.直接yum 安裝

yum install mailx -y

2.修改配置文件

vim /etc/mail.rc
在末行插入:
set from=14****[email protected] #涉及隱私,未展示出賬號
set smtp=smtp.qq.com
set smtp-auth-user=1
[email protected] #涉及隱私,未展示出賬號

set smtp-auth-password=郵箱密碼 #涉及隱私,未展示出密碼
set smtp-auth=login

3.測試郵件發送

echo "hello world" | mail -s "testmail" 1***[email protected]

坑一(騰訊的坑):

你會發現郵件無法發送出去,報警信息如下圖:

技術分享圖片

這時候,你要檢查賬戶密碼是否輸入正確,在你再三確認後,你發現依舊發送失敗,幾近崩潰!
其實,這是騰訊給挖的坑,騰訊郵箱需要開啟客戶端授權碼進行第三方登錄驗證。

解決辦法:
1.打開自己的騰訊郵箱,“設置”---“賬戶”--“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務”

技術分享圖片

2.在IMAP/SMTP服務一欄右側單擊"開啟",會彈出一個密保驗證窗口,根據提示,發送短信驗證

技術分享圖片
技術分享圖片

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.文章中出現的所有坑,我是通過查日誌和上網搜索,還有自己的總結出來的,若有相似部分,是參考借鑒,並非抄襲!

阿裏雲服務器安裝postfix--郵箱服務(排坑過程詳解)