快樂過生活  wrote in message
news:3gJkaa$Ivy@bbs.tku.edu.tw...
> 如何讓 sendmail 支援 starttls ,可以使用 ssl 加密寄信
> 以 redhat 7.1 為例..
> 1 安裝 sfio
> 下載位置 : http://www.research.att.com/sw/tools/sfio/
> mkdir -p /usr/local/src/sfio
> mv sfio_1999.src.unix.cpio /usr/local/src/sfio
> cd /usr/local/src
> cpio -idv -F sfio_1999.src.unix.cpio
> cd sfio/src/lib/sfio
> vi sfputr.c (增加一行程式碼,就是底下有 3 個 "+" 的那一行.. sendmail 文件建議
> 修正,切記"+++" 這三個 "+" 號不要加上去,不然可是編不起來的喔)
>
>         for(w = 0; (*s || rc >= 0); )
>         {       SFWPEEK(f,ps,p);
>
> +++             if(p == -1) return -1;
>                 if(p == 0 || (f->flags&SF_WHOLE) )
>                 {       n = strlen(s);
>                         if(p >= (n + (rc < 0 ? 0 : 1)) )
>
> 修改完存檔...執行 make
>
> 2. 安裝 sendmail
> 下載 sendmail-8.11.3.tar.gz 至 /usr/local/src
> tar zxvf sendmail-8.11.3.tar.gz
> cd sendmail-8.11.3/devtools/OS
> vi Linux
> 增加底下幾行
> define(`confSTDIO_TYPE', `portable')
> APPENDDEF(`confENVDEF', `-DSFIO')
> APPENDDEF(`confLIBS', `-lsfio')
> APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS')
> APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto')
>
> 修改完存檔
> mkdir -p /usr/local/src/sendmail-8.11.3/include/sfio
> mkdir -p /usr/lib/sfio
> cp /usr/local/src/sfio/include/* /usr/local/src/sendmail-8.11.3/include/sfio
> cp /usr/local/src/sfio/lib/* /usr/lib/sfio
>
> 至此...設定暫時結束...如有各自需要請自行調整 sendmail 編譯參數
>
> 最後編譯安裝...
> sh Build
>
> 要執行 sendmail 前,要先產生相關 sendmail.mc
> cd /usr/local/src/sendmail-8.11.3/cf/cf
> cp /etc/mail/sendmail.mc sendmail.mc
> vi sendmail.cf 增加底下幾行..
> define(`CERT_DIR', /usr/share/ssl/certs)dnl
> define(`confCACERT_PATH', `CERT_DIR')dnl
> define(`confCACERT', `CERT_DIR/stunnel.pem')dnl
> define(`confSERVER_CERT', `CERT_DIR/stunnel.pem')dnl
> define(`confSERVER_KEY', `CERT_DIR/stunnel.pem')dnl
> define(`confCLIENT_CERT', `CERT_DIR/stunnel.pem')dnl
> define(`confCLIENT_KEY', `CERT_DIR/stunnel.pem')dnl
>
> 修改完存檔
> sh Build sendmail.cf
> mv sendmail.cf /etc/mail  (請依照自己系統所預設存放的 sendmail.cf 目錄修改)
>
> 產生所需 stunnel.pem 檔
> cd /usr/share/ssl/certs
> make stunnel.pem
> 輸入你自己機器的資訊 ..就會產生 stunnel.pem 檔了..
>
> 一切無誤後,請先自行備份原來 sendmail 程式及設定再做底下步驟
> sh install (如果沒移除之前 sendmail rpm 檔...則會蓋掉原來的 sendmail 程式及設
定)
>
> 將 sendmail 重跑 (一般下 sendmail -bd -q30m)
>
> 測試方式
> telnet localhost 25
> 打 ehlo localhost
> 當有看到一行 250-STARTTLS 時..
> 就代表你成功啦...
> 接著在 outlook express 將帳號設定內的安全選項內有一個選項 "這個伺服器需要安全
連
> 線 - SSL" 將之打勾...
> 這樣就可以使用 ssl 加密傳輸信件.
>
> --
> ※ 來源:•蛋捲廣場 bbs.tku.edu.tw•[FROM: 211.20.177.117]



----------