歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在Linux中安裝配置Postfix來搭建郵件發送服務

在Linux中安裝配置Postfix來搭建郵件發送服務

日期:2017/3/1 17:29:29   编辑:Linux技術

在創建網站應用時,在用戶進行某些操作時需要發郵件給用戶是一種必不可少的操作。雲服務雖然是一個不錯的選擇。但如果體量太小,或是受到某些條件限制時,自建服務也許是一個更好的選擇。下面嘗試在 CentOS 7 中搭建發送郵件的功能。

安裝 Postfix
postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。postfix是Wietse Venema想要為使用最廣泛的sendmail提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真是一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的兼容性。
為什麼用postfix:
1. postfix是免費的:
postfix想要作用的范圍是廣大的Internet用戶,試圖影響大多數的Internet上的電子郵件系統,因此它是免費的。
2. 更快:
postfix在性能上大約比sendmail快三倍。一部運行postfix的台式PC每天可以收發上百萬封郵件。
3. 兼容性好:
postfix是sendmail兼容的,從而使sendmail用戶可以很方便地遷移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壯:
postfix被設計成在重負荷之下仍然可以正常工作。當系統運行超出了可用的內存或磁盤空間時,postfix會自動減少運行進程的數目。當處理的郵件數目增長時,postfix運行的進程不會跟著增加。
5. 更靈活:
postfix是由超過一打的小程序組成的,每個程序完成特定的功能。你可以通過配置文件設置每個程序的運行參數。
6. 安全性
postfix具有多層防御結構,可以有效地抵御惡意入侵者。如大多數的postfix程序可以運行在較低的權限之下,不可以通過網絡訪問安全性相關的本地投遞程序等等。

Postfix 現在幾乎已經是 MTA (Mail Transfer Agent) 的標配了。但在它之前 Sendmail 是標配。所以在一些老舊的系統版本中,安裝 Postfix 時需要先刪除 Sendmail。如果系統已經安裝了 Postfix,可以略過此步。
使用下面的命令查看系統使用的 MTA 情況:

復制代碼代碼如下:
alternatives --display mta

刪除 Sendmail

復制代碼代碼如下:
sudo yum remove sendmail

安裝 Postfix

復制代碼代碼如下:
sudo yum install postfix

設置 Postfix 為 MTA

復制代碼代碼如下:
sudo alternatives --set mta /usr/sbin/sendmail.postfix

配置 Postfix
編輯 /etc/postfix/main.cf 文件中如下配置:

復制代碼代碼如下:
myhostname = mail.dyniao.com # 主機名稱
mydomain = dyniao.com # 郵件服務器的主域名
myorigin = $mydomain # 發送郵件中顯示的域名
inet_protocols = ipv4 # 支持的網絡協議

以上配置只是我在測試時能運行的最小配置,請勿使用於正式場合或生產環境。
啟動 Postfix:

復制代碼代碼如下:
sudo service postfix start

讓 Postfix 支持開機啟動:

復制代碼代碼如下:
sudo systemctl enable postfix.service

域名配置
完成上面的步驟,已經可以往任意郵箱發送郵件了。但通常情況下只能在對方的垃圾箱中找到。要避免這種情況,還需要對主機進行域名解析的配置,使對方接收郵件的服務器信任收到的郵件。步驟如下:
添加一個 A 記錄,設置郵箱用的域名,如: mail.zzxworld.com,指向主機 ip。
添加一個 MX 記錄,指向第一步中添加的郵箱域名。
添加一個 TXT 記錄,記錄值為:

復制代碼代碼如下:
v=spf1 a mx ~all

上面的記錄值表示使用 SPF (Sender Policy Framework) 來防止別人偽造郵件。
等域名解析生效後,就可以正常的從主機發送郵件了。

Copyright © Linux教程網 All Rights Reserved