[教學] SMTP 認證功能 (sendmail)

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
JoeHorn
竹貓好朋友
竹貓好朋友
文章: 19
註冊時間: 2002-06-13 23:35
來自: 台灣
聯繫:

[教學] SMTP 認證功能 (sendmail)

文章 JoeHorn »

1.前言
傳統的 SMTP 主機都由 IP 來判斷使用者是否有送信權, 可是這樣對浮動 IP 的使用者就失去了效用.
若是將 SMTP 主機加入使用者帳號與密碼的認證機制, 則無論是固定 IP 還是浮動 IP 都可以使用主機來寄信了, 不是嗎? ;-)

2.步驟
首先先停掉 sendmail:
# killall -9 sendmail

再來用以下指令安裝 Cyrus-SASL 認證程式庫:
# cd /usr/ports/security/cyrus-sasl
# make install clean

接下來編輯 /etc/make.conf, 在最尾端加進以下四行:

代碼: 選擇全部

# SMTP_AUTH 用\r
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl
再來使用以下指令重新安裝 sendmail :
# cd /usr/src/usr.sbin/sendmail
# make clean
# make
# make install

接下來編輯以下兩個檔案:
/etc/mail/freebsd.mc
/etc/mail/hostname.mc (其中的 hostname 視您的主機 hostname 而定)
在最後面都加上以下幾行:

代碼: 選擇全部

dnl The following lines are used to enable CYRUS-SASL function
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
接下來編輯 /etc/access 這個檔案, 讓這個檔案只存在以下的內容(中間空白以TAB對齊):

代碼: 選擇全部

127.0.0.1     RELAY
(主機IP)       RELAY
再來編輯 /etc/mail/local-host-names 這個檔案, 填入主機的 domain name, 例如某主機有 aaa.bbb 跟 ccc.ddd 兩個 DN 要用來收信 (user@aaa.bbbuser@ccc.ddd), 則填入以下內容:

代碼: 選擇全部

aaa.bbb
ccc.ddd
接下來使用以下指令:
# cd /etc/mail
# make
# make cf
# make install

然後以 sendmail -bd -q30m 來重新啟動 sendmail.

要測試您的主機是否開始支援 SMTP_AUTH 請用 telnet localhost 25 這個指令,
輸入 ehlo localhost, 觀察是否有以下這行出現:
250-AUTH LOGIN PLAIN
若是有則代表成功.

接下來使用者要使用主機寄件的相關設定請參考以下URL:
Outlook: http://mail.leobbs.net/outlook.htm
Netscape: http://mail.leobbs.net/netscape.htm
Eudora: http://mail.leobbs.net/eudora.htm
Leo [joehorn]:~> make love
make: don't know how to make love. Stop
Leo [joehorn]:~> why?
why?: No match.
------------------------------------------------------
Welcome to JoeHorn 的啟示錄 and [url=telnet://star.leobbs.net]星情小築BBS[/url]
主題已鎖定

回到「phpBB 2 安裝與使用」