傳統的 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
# 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
代碼: 選擇全部
127.0.0.1 RELAY
(主機IP) RELAY
代碼: 選擇全部
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
