1. 概要
smPbSの節を参照。ここではMTAにqmail、POPにqpopperを使用した場合の解説を行う。
qmail-pop3dを使用する場合は、qmail-smPbSの節を参照。
2. 準備
・qmailのコンパイル、設定qmailの節を参照
・qpopperをコンパイル
--enable-home-dir-mail=Mailboxを,configure時のオプションに与える.
% tar zxvf qpopper3.x.tar.gz ; cd qpopper3.x
% ./configure --enable-home-dir-mail=Mailbox --enable-specialauth --enable-apop=/etc/mail/pop.auth --enable-log-login --with-log-facility=LOG_LOCAL0 --with-apopuid=pop (環境に合わせて)
% make・pop.log
smPbSの節と同じく、/var/log/pop.logにlogを出力するために、
/etc/syslog.conf を編集し、syslogdにSIGHUPを送る。inetdでは同時接続数等の接続制御が行えないため,
ucspi-tcpを使用するのがおすすめです。 ucspi-tcpの節参照。tcp.smtpに、
# /usr/local/bin/tcpserver -v -c 5 -x /etc/tcp/tcp.pop.cdb 0 \
(relayを許可するClientのhostのip adress):allow,RELAYCLIENT=//
を追加しておこう
pop3 /usr/sbin/popper -s 2>&1 | /usr/bin/logger -t tcp.pop3 &・ popwatch
$popauthspool = "/var/spool/popauth";
$poppersyslog = "/var/log/pop.log";
$watcherlog = "/var/log/popwatch.log";
$popwatcherpidfile = "/etc/popwatch.pid";
$popwatchoutfile = "/etc/tcp/tcp.smtp.filter";
$TAIL = "/usr/local/bin/tail";
$date = `/usr/local/bin/date`; chop($date);を、環境にあわせて編集する。
$rc = system ("cd /etc/tcp ; mv -f tcp.smtp.cdb tcp.smtp.cdb.old ; cat $popwatchoutfile tcp.smtp | /usr/local/bin/tcprules tcp.smtp.cdb tcp.smtp.cdb.$$");
も、編集する必要があるかも。
$popauthspool で設定されたディレクトリを予め作成しておく。
# popwatch &
して起動しよう。
・POP認証済みClientのIPアドレスの掃除のための設定
popclear を環境にあわせて編集し、cronでdbから認証済みIPを削除させたい時間毎に実行する。
・テスト
popで入ってみて、
% ls /var/spool/popauth ($popauthspoolに設定したディレクトリ)
正常動作していれば、popでloginした接続元のhostのIPアドレスが表示される
% cdbdump < /etc/tcp/tcp.smtp.cdb
正常動作していれば、+15,14:210.162.171.194->+RELAYCLIENT=
+0,0:->等の出力が得られる。
※参照url :
http://www.ne.jp/asahi/cyber/taki/server/qpopper/install.html
http://spam.ayamura.org/tools/smPbS.html