概述
sendmail是linux系統(tǒng)中一個郵箱系統(tǒng), 也是一個免費、輕量級、命令行的SMTP郵件客戶端。如果你需要使用命令行方式發(fā)送郵件,那么sendEmail是非常完美的選擇:使用簡單、功能強大。
下面介紹下sendmail安裝部署部分,以下基于centos7系統(tǒng)測試。
1、sendmail的配置文件
/etc/mail/sendmail.cf :Sendmail的主配置文件; /etc/mail/access :中繼訪問控制; /etc/mail/domaintable ;域名映射; /etc/mail/local-host-names ;本地主機別名; /etc/mail/mailertable :為特定的域指定特殊的路由規(guī)則; /etc/mail/virtusertable :虛擬域配置。
中繼的配置:
是指一臺服務(wù)器接受并傳遞源地址和目的地址都不是本服務(wù)器的郵件。
在兩個文件中進行設(shè)置:
/etc/mail/relay-domains /etc/mail/access
2、安裝sendmail
yum install -y sendmail yum install -y sendmail-cf

啟動saslauthd服務(wù)進行SMTP驗證(默認是安裝的,如果沒有,就手動安裝)
service saslauthd start

3、郵件服務(wù)配置(iptables防火墻關(guān)閉)
1)配置Senmail的SMTP認證
將下面兩行內(nèi)容前面的dnl去掉。在sendmail文件中,dnl表示該行為注釋行,是無效的,因此通過去除行首的dnl字符串可以開啟相應(yīng)的設(shè)置行。
# vim /etc/mail/sendmail.mc ...... TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

2) 設(shè)置Sendmail服務(wù)的網(wǎng)絡(luò)訪問權(quán)限
將127.0.0.1改為0.0.0.0,意思是任何主機都可以訪問Sendmail服務(wù)。
如果僅讓某一個網(wǎng)段能夠訪問到Sendmail服務(wù),將127.0.0.1改為形如192.168.1.0/24的一個特定網(wǎng)段地址。
# vim /etc/mail/sendmail.mc ...... DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

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

4)啟動服務(wù)(如果發(fā)現(xiàn)sendmail dead but subsys locked,那就執(zhí)行"service postfix status"查看postfix是否默認開啟了,如果開啟的話,就關(guān)閉postfix,然后再啟動或重啟sendmail服務(wù)即可。)
# service sendmail start # service saslauthd restart

5)將服務(wù)加入自啟行列
# chkconfig sendmail on # chkconfig saslauthd on # chkconfig --list |grep sendmail # chkconfig --list |grep saslauthd

6)安裝mailx
# yum -y install mailx

4、配置指定發(fā)送郵箱
RHEL(Oracle Linxu/CentOS)系統(tǒng)下,如果使用sendmail發(fā)送郵件,如果不特殊設(shè)置,一般發(fā)件箱地址為user@hostname
1) Sendmail配置
配置發(fā)送郵件的郵箱認證信息
vi /etc/mail.rc
--- 增加如下內(nèi)容 --- set [email protected] set smtp=mail.your-domain.com set smtp-auth-user=yourname set smtp-auth-password=yourpasswd set smtp-auth=login
2)測試發(fā)送郵件功能
echo "hello word" | mail -s "mail title" [email protected]

--報錯:could not connect: Connection timed out "/root/dead.letter" 11/305 . . . message not sent. 排查1:smtp服務(wù)器地址DNS解析無誤 排查2:smtp服務(wù)器端口25是否可以訪問;
3)查看郵箱
