qmail de APOP

[ Nob's Home | qmail ]


qmailでAPOPを使用します。
qmail-1.03に対応した qmapop-0.51を滝澤さんが開発されました。

Information

What you need

installの前に

apop用のユーザ qapopを登録します。
$ su
# pw useradd apopdb -u 7797 -g qmail -d /var/qmail/apopdb -s /nonexistent
これで
apopdb:*:7797:2107::0:0::/var/qmail/apopdb:/nonexistent
が作成されます

qmail-1.03のqmail-popupにpatchをあてます

$ wget http://www.emaillab.org/djb/qmapop/qmapop-0.51.tar.gz
$ tar qmapop-0.51.tar.gz -C src
$ tar qmail-1.03.tar.gz -C src
$ cd src/qmail-1.03
$ patch -p1 < ../qmapop-0.51/qmail-popup.c.patch
$ make
$ su
# make setup
# exit

qmapopなどのinstall

POP before SMTPのためにconf-opensmtp.hを修正します。
$ cd
$ cd src
$ cp -p qmail-1.03/compile qmapop-0.51/
$ cp -p qmail-1.03/load qmapop-0.51/
$ cd qmapop-0.51
$ vi conf-opensmtp.h
	#define OPENSMTP                "/usr/local/bin/pop3-record"
	/* #undef OPENSMTP */
$ make
$ su
# make install

tcpserverによる起動

#!/bin/sh
#
/usr/local/bin/tcpserver 0 \
                         pop3 \
                         /var/qmail/bin/qmail-popup \
                                    makioka.y-min.or.jp \
                                    /var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &
#
#
で起動する。

APOPユーザの登録

# mkdir /var/qmail/apopdb
# /var/qmail/bin/apop -i
	これでAPOPで使用するdababaseを作る
# /var/qmail/bin/apop -u nob
	nobのAPOPパスワードを設定

POP before SMTPの設定

基本的にはqmail-smtpdの制御をtcpserverで行います。
これまでは、smtpの中継を許可するクライアントのIPアドレスをあらかじめ記載して、
制御データベースを作成していましたが、POP before SMTPの場合、
APOPのpatchを当てたqmail-popupにより起動されたqmail-pop3dで
クライアントがmailを読むと、pop3-recordにより指定したdir(defaultでは/etc/service/smtpd)に
クライアントのIP addressが記録され、tcpserverの制御データベースが更新されます。
この制御データベースはcronにより起動されるqge-smtpにより更新されます。
# cd src/qmapop-0.51
# install -m 755 pop3-record /usr/local/bin
# install -m 755 age-smtp /usr/local/bin
# mkdir -p /service/smtpd


# crontab -e
	*/5 * * * * /usr/local/bin/age-smtp
したがって、qmail-smtpdの起動は
#!/bin/sh
/usr/local/bin/tcpserver -u 7791 -g 2108 -x /service/smtpd/smtp.cdb \
                         0 \
                         smtp \
                         /var/qmail/bin/qmail-smtpd \
                                2>&1 | /var/qmail/bin/splogger smtpd 3 &
#
と、更新される制御データベースを参照するようにします。
[ Nob's Home | qmail ]
nob@makioka.y-min.or.jp