Mowd 最近在重溫許久未接觸的 sendmail 的 SMTP 設定時
發現許多文章都不是很完整,或是只說了半套
因此 Mowd 決定來整裡一下設定 sendmail SMTP 的方式
順便作為筆記以供日後參考
若要在 sendmail 啟用 SMTP 功能,必須要使用 yum 安裝以下套件 cyrus-sasl 並啟動驗證服務
# yum install cyrus-sasl
# chkconfig saslauthd on
# service saslauthd start
# chkconfig saslauthd on
# service saslauthd start
接著設定 /etc/mail/sendmail.mc
將第 116 行
Addr=127.0.0.1
改為
Addr=0.0.0.0
然後將 52、53 行文字前的 dnl 去掉變成這樣
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
因為修改了 sendmail 設定檔,所以我們必須要重新編譯讓 sendmail 能夠讀取
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
如果出現找不到 m4 指令,可以透過以下指令安裝
# yum install sendmail-cf
最後重新啟動 sendmail,SMTP 就設定完畢了
# service sendmail restart
補充一點,如果想要直接允許某些 IP 不必經過驗證也能夠寄信的話
可以使用以下範例格式加入到 /etc/mail/access 就可以了
Connect:192.168.1 RELAY
Connect:example.com.tw RELAY
Connect: 10.0.0.1 RELAY
Connect:example.com.tw RELAY
Connect: 10.0.0.1 RELAY