環境: Redhat linux 6.0(內核2.2.14)
sendmail-8.10.2
cyrus-sasl-1.5.21
Outlook express 5.0
一、準備工作
1.首先要下載sasl庫,該函數庫提供了安全認證所需函數,下載地址是
( ),版本1.5.21。
2.下載sendmail(),版本在8.10.0以上的sendmail才支持
SMTP認證功能。
3.注意選擇客戶端電子郵件軟件。并不是所有的客戶端電子郵件軟件都支持SMTP認證功
能,幾種常見的
版本要求是這樣的:
Netscape Messenger 的版本要4.6以上
Outlook和Outlook Express要5.0版本以上
Eudora pro的版本要在4.3以上
Foxmail目前還不支持這個功能。
每一種軟件的認證方法是不一樣的,編譯sasl庫的時候和配置sendmail略有不同。
我就大家最常見的
Outlook Express 5.0的設置方法介紹如下。
二、安裝sasl庫
1.解壓cyrus-sasl-1.5.21.tar.gz到你選定的目錄
2.cd cyrus-sasl-1.5.21
3 ./configure --enable-login --with-pwcheck
Outlook Expresss使用LOGIN的認證方法,sasl庫缺省并不支持這種方式,所以要在生
成配置文件時特別加入,另外,Outlook的口令驗證方式也不是缺省的方式,所以也需要
加入--with-pwcheck的選項。
下面就可以編譯和安裝sasl庫了。
make
make install
4.缺省情況下,所有的庫函數安裝到/usr/local/lib目錄下,但sendmail使用的庫函數
是在目錄/usr/lib下的,所以需要做一些調整。
cd /usr/lib
ln /usr/local/lib/sasl/ ./sasl -s
cp /usr/local/lib/libsa* .
也可以避開這一步,在第3步時候運行configure腳本前,修改其中的缺省路徑就可以了。
打開configure文件找到這一行ac_default_prefix=/usr/local(在文件前幾行),改為
ac_default_prefix=/usr 就可以了,這樣更方便一些。
5.新建目錄/var/pwcheck,供pwcheck命令使用,該命令是一個后臺程序,負責檢查用戶
的輸入口令,
以root權限件使用shadow口令文件。
6.在/usr/lib/sasl目錄下建立文件Sendmail.conf,加入如下一行
pwcheck_method:pwcheck
這樣sasl庫函數的安裝就完成了。
三、編譯和配置sendmail
1.解壓sendmail軟件到你希望的目錄,進入sendmail-8.10.2目錄。
在devtools/Site/目錄下創建config.site.m4文件,加入如下兩行文字,把SMTP認證
功能編譯到sendmail中。
APPENDDEF(`confENVDEF@#, `-DSASL@#)
APPENDDEF(`conf_sendmail_LIBS@#, `-lsasl@#)
2.回到sendmail-8.10.2目錄,再進入sendmail目錄,開始編譯sendmail。
./Build -c(如果不是第一次編譯,需要加入-c選項,清除以前的配置)
編譯成功后,運行./Build install安裝軟件。
3.下一步需要改寫Sendmail的配置文件;氐缴弦患壞夸,再進入cf/cf目錄,找到合適
的.mc文件(具體做法
參見其他文章,這些不在本文討論范圍中)。按照你的要求適當修改,加入如下幾行:
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5@#)
define(`confAUTH_MECHANISMS@#, `LOGIN PLAIN DIGEST-MD5@#)
dnl define(`confDEF_AUTH_INFO@#, `/etc/mail/auth/auth-info@#)
FEATURE(`no_default_msa@#)
DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea@#)
說明:"TRUST_AUTH_MECH"的作用是使sendmail不管access文件中如何設置,都能
relay那些通過LOGIN,PLAIN或DIGEST-MD5方式驗證的郵件。
"confAUTH_MECHANISMS"的作用是確定系統的認證方式。
"confDEF_AUTH_INFO"的作用是當你的計算機作為客戶機時,向另外一臺有smtp認
證功能的主機進行認證,用戶和密碼存放在auth-info文件中,在這個例子中并不需要這
個功能,所以注釋掉了。
4.編譯生成/etc/mail/sendmail.cf文件
m4 xxxx.mc >/etc/mail/sendmail.cf,不過記住一定要備份舊的sendmail.cf文件,
否則就可能麻煩了。
5.現在基本上可以了,啟動sendmail讓我們來測試一下吧
sendmail -bd -q20m
運行下面命令
telnet localhost 25
ehlo localhost
注意有沒有以下的信息出現.
250-xxxxxxxx
250-xxxxxxx
250-AUTH LOGIN PLAIN DIGEST-MD5
250-xxxxxx
可能會略有不同,不過你選定的認證方式一定要有的。
如果顯示沒有問題,恭喜你!服務器端的配置你已經成功了。如果沒有出現上面的信息,
請運行
sendmail -O loglevel=14 -bs
仔細檢查問題所在。
在結束服務器端的配置之前,我們還要做一件事,運行pwcheck這個daemon程序,這樣才
能完成用戶認證功能。
pwcheck &
四、Outlook Express 5.0 的配置
1.打開你的Outlook Express,修改你的賬號屬性,在服務器選項,選取我的smtp服務
器需要認證選項,然后進入配置。
2.不要選取安全口令認證,sendmail并不支持這個選項。是選取使用pop3同樣的口令
還是選擇另外輸入用戶和密碼,這就看你的愛好和設置了,這不是關鍵。如果你在
服務器上有一個真實賬號,不妨選取使用同樣的口令,如果沒有賬號,選用其他的
用戶口令同樣可以。
OK,Let@#s try it!
文章來源于領測軟件測試網 http://www.kjueaiud.com/