ギゾネット 2001.12.25更新

QpopperのIPv6化


POPサーバーのQpopperをIPv6対応にしてみましょう.
IPv4/IPv6のどちらでもメールを受信できるようになります。
今回は、FreeBSD4.4-RELEASEを使用しました。

ソースとパッチを取ってくる
Qpopperダウンロードしてきます。
梅本さんのところからQpopperのIPv6パッチを取ってきましょう。

インストール
ソースとパッチをそれぞれ展開します。
%tar zxvf qpopper4.0.3.tar.gz
%gunzip qpopper4.0.3-ipv6-20010504.diff.gz
%cd qpopper4.0.3
%patch -p1 < ../qpopper4.0.3-ipv6-20010504.diff

次にconfigureとmakeですが、APOP認証ができるようにします。
configureのオプションについては、--enable-shyでqpopperが認証の返事をするときバージョンを相手に見せない。
--enable-home-dir-mail=Mailboxでqmailで使っているMailbox形式を指定します。
%./configure --enable-apop=/usr/local/etc/pop.auth --with-popuid=pop --enable-shy --enable-home-dir-mail=Mailbox
%make
#make install


起動の設定
Qpopperがinetdで起動するように/etc/inetd.confを書き換えます。
/etc/inetd.confをエディタで開いて、以下の行を探します。
#pop3 stream tcp nowait root /usr/local/libexec/popper popper
その行を以下のように書き換えます。
pop3 stream tcp nowait root /usr/local/sbin/popper popper -p 2 -R -t /var/log/qpopper.log
pop3 stream tcp6 nowait root /usr/local/sbin/popper popper -p 2 -R -t /var/log/qpopper.log

man popperしていただければ、設定はわかるかと思いますが、 -p 2のオプションは、POPはすべてOKで、APOPもOKという場合です。
APOP以外受け付けないときには-p 1にするなどできますので、管理者のセキュリティポリシーで決めてください。
-RはIPアドレスの逆引きを見ない設定。-tで指定した場所にログを残します。ここでは、/var/log/qpopper.logというファイルにログをとります。syslogに残す方法もありますが、その場合は-sオプションです。

これを書き換えたら以下のコマンドを実行して、Qpopperを起動させます。
# cat /var/run/inetd.pid
(pidが戻ってくる)
#kill -HUP (戻ってきたpid)


APOPパスワードの設定
APOPのパスワードを登録します。

# popauth -init

Really initialize POP authentication DB? と聞かれたらyを押します。
これでデータベースが作成されました。

ユーザーtaroのAPOP用のパスワードを作成するとしたら
# popauth -user taro
Adding only APOP password for taro.
New password:(APOP用のパスワードを入れます)
Retype new password:(再度入力)

これで登録は終了です。

接続テスト
それでは接続テストをしてみましょう。
%telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK ready <3126.1009105380@comp.gizo.net>
user taro
+OK Password required for taro.
pass taroのパスワード入力(パスワードが表示されるので注意)
+OK taro has 4 visible messages (0 hidden) in 2470 octets.
retr 1
(メールの表示)
quit
+OK Pop server at gw.gizo.net signing off.
Connection closed by foreign host.


次に、IPv6でやってみます。
%telnet ::1 110
(以下IPv4と同じ)


どちらも出来れば、完了です。
IPv6が話せるメールアプリケーションでメールの送受信をしてみましょう。

補足
ウェブメールのhotmailとyahooメールで、「POPサーバーからのメール取り込み」を試してみましたが、hotmailはAPOPでメール取得できますが、yahooはできないようでした。