歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 帶SMTP認證功能的sendmail配置

帶SMTP認證功能的sendmail配置

日期:2017/2/27 9:31:31   编辑:更多Linux
  環境: Redhat Linux 6.0(內核2.2.14)   sendmail-8.10.2   cyrus-sasl-1.5.21   Outlook eXPress 5.0     一、准備工作   1.首先要下載sasl庫,該函數庫提供了安全認證所需函數,下載地址是   (FTP://ftp.andrew.cmu.edu/pub/cyrus-mail/ ),版本1.5.21。     2.下載sendmail(http://www.sendmail.org),版本在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同樣的口令還是選擇另外輸入用戶和密碼,這就看你的愛好和設置了,這不是關鍵。如果你在服務器上有一個真實賬號,不妨選取使用同樣的口令,如果沒有賬號,選用其他的用戶口令同樣可以。




Copyright © Linux教程網 All Rights Reserved