1. 程式人生 > >linux下sendmail郵件系統安裝詳情

linux下sendmail郵件系統安裝詳情

介紹

sendmail是linux系統中一個郵箱系統,如果我們在系統中配置好sendmail就可以直接使用它來發送郵箱。
sendmail的配置檔案
/etc/mail/sendmail.cf              Sendmail的主配置檔案;
/etc/mail/access                   中繼訪問控制;
/etc/mail/domaintable              域名對映;
/etc/mail/local-host-names         本地主機別名;
/etc/mail/mailertable              為特定的域指定特殊的路由規則;
/etc/mail/virtusertable            虛擬域配置。

一、安裝軟體

yum install -y sendmail

 yum install -y sendmail-cf

啟動saslauthd服務進行SMTP驗證(預設是安裝的,如果沒有,就手動安裝)

[[email protected] ~]# service saslauthd start
Redirecting to /bin/systemctl start saslauthd.service

[[email protected] ~]# service sendmail start
Redirecting to /bin/systemctl start sendmail.service

二、郵件服務配置

(iptables防火牆關閉)

1)配置Senmail的SMTP認證
將下面兩行內容前面的dnl去掉。在sendmail檔案中,dnl表示該行為註釋行,是無效的,因此通過去除行首的dnl字串可以開啟相應的設定行。

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

2) 設定Sendmail服務的網路訪問許可權(如果是直接本機呼叫,可以不用操作,採用預設的127.0.0.1。不過最後還是改成0.0.0.0)
將127.0.0.1改為0.0.0.0,意思是任何主機都可以訪問Sendmail服務。
如果僅讓某一個網段能夠訪問到Sendmail服務,將127.0.0.1改為形如192.168.1.0/24的一個特定網段地址。

vim /etc/mail/sendmail.mc
......
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

3)生成配置檔案
Sendmail的配置檔案由m4來生成,m4工具在sendmail-cf包中。如果系統無法識別m4命令,說明sendmail-cf軟體包沒有安裝
 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

4)啟動服務(如果發現sendmail dead but subsys locked,那就執行"service postfix status"檢視postfix是否預設開啟了,如果開啟的話,就關閉postfix,然後再啟動或重啟sendmail服務即可。)
 service sendmail start

service saslauthd restart

將服務加入自啟行列

chkconfig sendmail on

chkconfig saslauthd on

5修改配置檔案

[[email protected] ~]# more /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.200 master master.com

主要是:增加 master.com

三、測試傳送郵箱

(1)第一種方式:安裝sendmail即可使用。

 yum -y install mailx

建立一個郵件內容檔案,然後發郵件(注意-s引數後的郵件標題要用單引號,不能使用雙引號,否則發郵件會失敗!)

[[email protected] ~]# echo 'This is test mail'>/root/content.txt

[[email protected] ~]# mail -s 'Test' *****@163.com < /root/content.txt

收到郵件。