在配置sendmail 的smpt驗證時,碰到了不少麻煩事,最後總算搞定了。有時只是一些簡單的操作,卻是因為沒有文檔,導致配置工作的進展困難。這裡記錄下一些配置過程中忽略的小事情。
1.安裝。debian系統安裝軟體都非常方便。
sudo apt-get install sendmail
不記得這個命令是否安裝sendmail-bin,如果沒有的話繼續
sudo apt-get install sendmail-bin
2.安裝sasl2
sudo apt-get install sasl2-bin
3.配置smtp的驗證
配置主要集中在sendmail.mc文件。
a)將MTA-v4的監聽地址去掉,這樣就可以監聽所有地址。修改後如下:
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission,Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission')dnl
b)添加驗證參數如下:
TRUST_AUTH_MECH(`DIGEST-MD5 LOGIN PLAIN')
define(`confAUTH_MECHANISMS',`DIGEST-MD5 LOGIN PLAIN')
直接添加到上面MTA的配置底下即可。
c)修改訪問配置。使用了smtp驗證后,就可以忽略access的配置。所以要將/etc/mail/access裡面的配置內容清空。如果不清空,會出現不使用smpt驗證也可以發送郵件的情況。
所有修改完畢后使用sendmailconfig命令,一路選擇預設即可。最後這個命令會reload sendmail。
4.驗證安裝和配置
啟動sendmail后,telnet localhost 25,在出現的控制台,輸入命令ehlo localhost
查看輸出信息:
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
如果出現上面紅色的字,表明已經可以了。
5.驗證郵件發送。
配置好smtp驗證后,在本地域的郵件發送還是可以不通過smtp驗證直接發送。要驗證smtp是否配置成功,必須發送到域外的郵箱如gmail郵箱。
一些容易碰到的問題:
1)sendmail配置好后,從別的機器telnet 25埠,連接被拒絕。
原因:這是由於預設sendmail綁定到127.0.0.1的25埠,所以從別的機器telnet 192.168.0.230 25 並不能訪問25埠。
解決:搜索sendmail.mc文件,將其中的
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp', Addr=127.0.0.1)dnl
修改為
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp', Addr=0.0.0.0)dnl
或者 DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
2)看到250-AUTH DIGEST-MD5 LOGIN PLAIN的標誌,卻還是不能使用smtp驗證發送郵件
原因:可能未安裝sasl2
解決辦法:安裝sasl2
sudo apt-get install sasl2-bin
安裝完成後,在文件/etc/default/saslauthd文件中,找到START=no,修改為START=yes
修改完后/etc/init.d/saslauthd start
3)配置好后,可以使用smtp驗證發送郵件,不使用smtp驗證也能夠發送郵件
原因:發送和接收郵件在域內,如果發送的郵件地址不在域內,則可能是 /etc/mail/access文件未清空。
解決:將 /etc/mail/access文件清空。
要注意的一點:
修改任何配置,需要重新啟動sendmail,建議使用命令 sendmailconfig啟動。
[火星人
]
ubuntu gutsy sendmail smtp驗證配置已經有364次圍觀
http://coctec.com/docs/linux/show-post-180542.html