在Ubuntu 16.04 LTS上安裝Postfix郵件系統(tǒng),配置發(fā)送郵件服務(wù)器。
介紹
我有一臺Ubuntu服務(wù)器,上面運行了若干應(yīng)用。我希望某個應(yīng)用崩潰或出問題的時候,系統(tǒng)后臺自動把故障信息發(fā)到我的郵箱。這樣,免去了我遠程登錄服務(wù)器,查看運行故障日志的煩惱。此處僅需要服務(wù)器能發(fā)送郵件即可,不需收取郵件。
Postfix是Linux平臺上應(yīng)用廣泛的郵件系統(tǒng)。本文中將在Ubuntu平臺上安裝配置Postfix,實現(xiàn)發(fā)送郵件功能。
步驟一:安裝Postfix
首先更新軟件包:
sudo apt-get update
然后安裝Mailutils(Postfix在該包中):
sudo apt-get install mailutils
安裝中首先會出現(xiàn)問題請你確認,選擇Y
Do you want to continue?[Y/n]
在確認配置頁面,tab至ok,回車:

以下配置頁面共5個選項,我們選擇默認選項Internet Site:

下面的配置頁面是輸入系統(tǒng)郵件名字,保持默認:

安裝完畢。
步驟二:配置Postfix
Postfix需要在配置中監(jiān)聽loopbackinterface,打開主Postfix配置文件:
sudo vi /etc/postfix/main.cf
將inet_interfaces = all更為inet_interfaces = loopback-only,保存退出。
重啟Postfix:
sudo service postfix restart
步驟三:測試發(fā)送郵件
echo "測試郵件正文" | mail -s "郵件標(biāo)題" your_email_address
用你的郵箱地址代替your_email_address。
怎么樣,能收到嗎?如果你的服務(wù)器只有Ip地址,沒有對應(yīng)的域名,很可能你也像我一樣收不到郵件。因為此處發(fā)出的郵件默認發(fā)件地址為:你登錄服務(wù)器的用戶名@你服務(wù)器的名字,像我的地址就為user1@svr5。而絕大部分收件人的郵件服務(wù)器會對發(fā)件電子郵件地址有效性做出判斷,如果不與常規(guī)域名后綴(如xxx.com, xxx.net等等)一致,會判定為垃圾郵件而丟棄。所以,我們需要進入步驟四。
步驟四:改變發(fā)件地址
打開Postfix配置文件:
sudo vi /etc/postfix/main.cf
在文件末尾增加以下內(nèi)容:
smtp_generic_maps = hash:/etc/postfix/generic
保存退出。打開以下文件:
sudo vi /etc/postfix/generic
添加以下內(nèi)容:
你的用戶名@你的服務(wù)器名字 你希望對方看到的電子郵件地址
如我在服務(wù)器登錄用戶名為user1,我的服務(wù)器名字為svr5,我希望對方看到的電子郵件地址為user@126.com,那么添加內(nèi)容為:
user1@svr5 user@126.com
如果你希望對方回復(fù),user@126.com應(yīng)該是你希望收到回復(fù)郵件的地址。如果不希望對方回復(fù),那么這個地址可以不一定為真實地址,但格式要符合郵件地址要求,否則會被對方郵件服務(wù)器丟棄。
重啟Postfix:
sudo service postfix restart
再試試,能收到郵件了嗎?
echo "測試郵件正文" | mail -s "郵件標(biāo)題" your_email_address
OK.
此文參考以下兩篇文章: