雖然說sendmail用著還是不錯的,但是從某些原因來講我還是更加喜歡一個快速便捷的郵件發送伺服器,很榮幸我找到了postfix,於是乎我毅然決然的卸載了我親愛的sendmail用上了postfix,記安裝過程如下。
安裝postfix
在安裝之前還有必不可少的過程,卸載sendmail,當然如果你之前沒有安裝過sendmail就不用卸載了。在Shell視窗執行一下命令:
yum remove sendmail
執行完這個過後就卸載了sendmail了,怎麼 樣是不是很便捷啊,然後我們執行另外一條命令來安裝postfix
yum install postfix
安裝完成後我們還需要把預設的MTA的sendmail替換成postfix,執行
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix
然後我們執行下面這段代碼開始準備配置postfix
vi /etc/postfix/main.cf
按i進入編輯模式,?內容斷行符號尋找並修改為類似如下內容。注意這些內容並不在一個地方。
myhostname = mail.cxsir.com
mydomain = cxsir.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.100.10/24, 127.0.0.0/8
relay_domains =
home_mailbox = Maildir/
然後按ESC退出編輯,按shift+:輸入wq儲存。做完這些後我們需要檢測啟動postfix
service postfix status //檢測,若已啟動會列出其PID,如下:
master (pid 25579) is running...
//若未啟動,執行以下命令:
service postfix start
我們還需要把postfix加入開機啟動
chkconfig postfix on
做完這些過後我們就可以開開心心的使用postfix發送郵件了。當然如果之前沒有配置php.ini那麼我們還需要修改php.ini的sendmail。執行:
vi /etc/loca/php/etc/php.ini //根據你的路徑自行修改
然後尋找編輯sendmail_path
sendmail_path = /usr/sbin/sendmail -t -i
儲存並退出,然後重啟PHP
/etc/init.d/php restart
配置解析
mydomain:
mydomain參數是指email伺服器的網域名稱,請確保為正式網域名稱(cxsir.com)
myhostname:
myhostname參數是指系統的主機名稱(如我的伺服器主機名稱是mail.cxsir.com)
myorigin:
myorigin參數指定本地發送郵件中來源和傳遞顯示的網域名稱。在我們的例子中,mydomain是cxsir.com,也是我的網域名稱。
對於下面的一行,我們的郵件地址是no_reply@cxsir.com而不是no_reply@mail.cxsir.com。
myorigin = $mydomain
mynetworks:
mynetworks參數指定受信任SMTP的列表,具體的說,受信任的SMTP用戶端允許通過Postfix傳遞郵件。
mydestination:
mydestination參數指定哪些郵件地址允許在本地發送郵件。這是一組被信任的允許通過伺服器發送或傳遞郵件的IP地址。使用者試圖通過發送從此處未列出的IP地址的原始伺服器的郵件將被拒絕。
inet_interfaces:
inet_interfaces參數設定網路介面以便Postfix能接收到郵件。
relay_domains:
該參數是系統傳遞郵件的目的網域名稱列表。如果留空,我們保證了我們的郵件伺服器不對不信任的網路開放。
home_mailbox:
該參數設定郵箱路徑與使用者目錄有關,也可以指定要使用的郵箱風格。
小結
本文基於Centos完成,其他系統請不要嘗試。如果需要安裝sendmial可以在部落格側邊欄搜尋senmdial擷取sendmail安裝教程。