POPサーバと Post Office Protocol

メイルサーバに溜ったメイルをユーザが取りにいくときに利用する プロトコルは、SMTPとは別のものが用いられる。シンプルで現在でもよく 用いられているのがPOP3(Post Office Protocol version3)である。

POPサーバ

qmailで配送先に利用している maildir 形式が利用できるPOPサーバプログラ ムは限られている。ここではimapext(UW-imapd + extensions)を利用する。

本体のインストール

ソースアーカイブを展開して、設定ファイルを微修正する。

% cd ~/make
% tar zxpf /files/imapext-2004g-1.tar.gz
% cd imapext-2004g-1
% vi src/osdep/unix/Makefile.md5

以下のように修正する。

修正前

…… -DAPOPOPEN=\"/usr/local/sbin/deapop …………という部分を

修正後

…… -DAPOPOPEN=\"/var/local/bin/deapop …………に変える

コンパイルし、出来上がった実行ファイルをインストールする。

% make bsf
% sudo cp ipop3d /var/local/bin
% sudo cp APOPtools/deapop /var/local/bin
% sudo chmod +x /var/local/bin/deapop
% sudo cp APOPtools/apoppasswd /var/local/bin
% sudo chmod +x /var/local/bin/apoppasswd

起動スクリプトの作成

SMTPサーバの起動スクリプトを作ったときと同じ要領で行なう。 /var/local/ipop3d ディレクトリ作成し、そこに 必要なファイルを作成する。

# sudo -s -H
# mkdir /var/local/ipop3d
# cd !$
# pwd
/var/local/ipop3d

起動スクリプトを start-ipop3d.sh という名前で作成する。

# vi start-ipop3d.sh

以下の内容にする。

/var/local/ipop3d/start-ipop3d.sh

#!/bin/sh
exec env - \
INTRANET=1 \
PATH=/var/local/bin:/var/qmail/bin:/bin:/usr/bin \
tcpserver -vR -c40 -p 0 pop3 ipop3d 2>&1 | splogger ipop3d &
# chmod +x start-ipop3d.sh

起動する。

# ./start-ipop3d.sh

POP受信の実験

実際に普通のメイルリーダから使えるように設定してみよう。

メイルパスワードの設定

自分宛に送ったメイルをPOPサーバから取り込む実験をしてみよう。 まず、メイル専用パスワードを設定する。サーバマシンにログインしている 一般ユーザのアカウントで apoppasswd を起動する。メイル専用パスワードは ログインパスワードとは違うものにする(それほど難しくなくてよい)。

# suspend
% apoppasswd
Enter APOP Password:
Again APOP Password:
Updated APOP password successfully.

メイルリーダ(Sylpheed)の設定

irsvのktermで、Sylpheedを起動する。

% sylpheed &

自動的にアカウント設定モードになるので以下のパラメータで設定する。

アカウントの名称 まいサーバ(何でもよい)
メールアドレス i20060XX@qm2XX.is.koeki-u.ac.jp
プロトコル POP3(通常)
受信用サーバ qm2XX.is.koeki-u.ac.jp
SMTPサーバ qm2XX.is.koeki-u.ac.jp

初期設定が終わったら「受信」ボタンを押して取り込めるか試してみよう。

telnetによるPOP受信

POP3も、SMTPと同様、決められたコマンドに値を与えていくことで サーバと情報のやりとりをする。今回は以下のコマンドを利用して通信してみる ことにする。

USER ユーザ名 ユーザ名の指定
PASS パスワード パスワードの指定
LIST [番号] 一覧表示
RETR 番号 指定した番号のメッセージを取得
DELE 番号 指定した番号のメッセージを削除
QUIT 抜ける

実際にtelnetでPOPサーバと通信してみよう。

# telnet qm2XX.is.koeki-u.ac.jp pop3
Trying 172.19.5.200...
Connected to qm200.is.koeki-u.ac.jp.
Escape character is '^]'.
+OK POP3 2004.89 server ready <25d7.44112fe3@qm200.is.koeki-u.ac.jp>
USER i2006000
+OK User name accepted, password please
PASS ********
+OK Mailbox open, 1 messages
LIST
+OK Mailbox scan listing follows
1 507
.
RETR 1
+OK 507 octets
Return-Path: <i2006000@itl.koeki-u.ac.jp>
Delivered-To: i2006000@qm200.is.koeki-u.ac.jp
Received: (qmail 9682 invoked by uid 32200); 10 Mar 2006 07:50:43 -0000
Message-ID: <20060310075043.9681.qmail@qm200.is.koeki-u.ac.jp>
From: i2006000@itl.koeki-u.ac.jp
Date: 10 Mar 2006 16:50:43 +0900
To: i2006000@qm200.is.koeki-u.ac.jp
Subject: cal
Status:   

      3月 2006
日 月 火 水 木 金 土
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

.
LIST
+OK Mailbox scan listing follows
1 507
.
DELE 1
+OK Message deleted
LIST
+OK Mailbox scan listing follows
.
QUIT
+OK Sayonara 
Connection to qm200.is.koeki-u.ac.jp closed by foreign host.

メイルリーダは上記のようなやりとりをしてサーバからメイルを取得する。

目次


(C)2006 HIROSE Lab. koeki-u.ac.jp