sendmail是Linux下優秀的郵件系統。在不做任何設定的情況下,sendmail發出郵件的郵箱源地址形如[email protected],這種地址幾乎會被所有的郵箱認定為SPAM(垃圾郵件)或直接拒收。
1、 Sendmail安裝
在CentOS下,sendmail一般默認是隨操作系統一起安裝的。如果安裝系統時沒有安裝sendmail服務,手動安裝sendmail也很簡單:
復制代碼
代碼如下:
2、 Senmail的SMTP認證配置(不需要認證的可忽略此步)
首先確認saslauthd服務是否安裝或啟動。
安裝saslauthd服務:
復制代碼
代碼如下:
啟動saslauthd服務:
復制代碼
代碼如下:
(1) 配置Senmail的SMTP認證
復制代碼
代碼如下:
復制代碼
代碼如下:
將上面兩行的dnl去掉。在sendmail文件中,dnl表示該行為注釋行,是無效的,因此通過去除行首的dnl字符串可以開啟相應的設置行。
(2) 設置Sendmail服務的網絡訪問權限
復制代碼
代碼如下:
復制代碼
代碼如下:
將127.0.0.1改為0.0.0.0,意思是任何主機都可以訪問Sendmail服務。如果僅讓某一個網段能夠訪問到Sendmail服務,將127.0.0.1改為形如192.168.1.0/24的一個特定網段地址。
3、 生成Sendmail配置文件
Sendmail的配置文件由m4來生成,m4工具在sendmail-cf包中。如果系統無法識別m4命令,說明sendmail-cf軟件包沒有安裝。
生成Sendmail的配置文件:
復制代碼
代碼如下:
需要重啟Sendmail才能使配置文件生效。
4、postfix與sendmail的沖突問題
在Linux服務器(CentOS release 6.6)上配置好了sendmail后,測試發送郵件時發現有問題,檢查sendmail服務的狀態,發現其處于“sendmail dead but subsys locked”, 檢查發現postfix服務也在運行。只需要將postfix服務停掉即可。為什么會出現這種情況呢?Something was occasionally causing the postfix service to start which then caused the status of sendmail to jump to dead but subsys locked. 兩種似乎不兼容。
操作步驟:
(1):檢查sendmail服務的狀態
復制代碼
代碼如下:
(2):檢查postfix服務的狀態
復制代碼
代碼如下:
(3):停止postfix服務
復制代碼
代碼如下:
(4):重新啟動sendmail服務
復制代碼
代碼如下:
(5):禁用postfix在reboot后自動啟動
檢查一下是否有設定 postfix 在 reboot 后自動啟動
復制代碼
代碼如下: