このページの本文へ

前へ 1 2 次へ

電子メールプロトコル再入門第8回

パスワードを暗号化するAPOPも忘れずに!

メールクライアントの動作からPOPのやりとりを見てみよう

2011年03月24日 06時00分更新

文● 遠藤哲

  • この記事をはてなブックマークに追加
  • 本文印刷

 クライアントがPOPコマンドをどのように使うかは、それぞれのメーラの実装によるところが大きい。ここでは、POP3コマンドとAPOPをサポートしているメーラ「Becky! Internet Mail version 2」を例として、POP3の動作との関連を説明しよう。


メールクライアントの動作

 図1は、Becky!のメールアカウントの設定画面の項目を対応付けたものである。まずユーザー認証を見てみよう。通常の認証方法はユーザーIDとパスワードによるが、APOPはPOPサーバに接続した際の応答メッセージに含まれている情報を使ったワンタイムパスワード方式の認証となる。そのため、メーラにはあらかじめ認証方式を設定する必要がある。認証方式の設定がないメーラの場合、ユーザーIDとパスワードによる認証が行なわれる。

図1●メーラの設定項目とPOP3コマンド

 続いて、受信したメールをサーバのメールボックスに残すか、それとも削除するかという設定項目がある。POPというプロトコルの基本的な考え方は、サーバのメールボックスのメールをユーザーの使うPCに移動させることである。つまり、いったんメールメッセージをクライアントが取得したら、メッセージをサーバに置く必要はないので削除すべきである。

 しかし、普段デスクトップPCでメールを受信している人が、出張先でノートPCを使ってメールを受信するようなケースもあるだろう。このような場合は、ノートPCはメッセージをサーバに残す設定にするほうがよい。ノートPCでサーバのメールボックスを削除する設定にしていると、デスクトップPCで参照できないメールが生じて作業に支障をきたすことになる。

 「サーバに残す」設定を行なうと、クライアントはサーバからメールをダウンロードした後DELEコマンドで削除マークを付けずにPOP3セッションを終了する。その結果、サーバにはメッセージが残り、通常使用しているデスクトップPCでメールを受信できる

サーバ上のメールを指定期日だけ保存する仕組み

 また、つねにサーバにメールを残すという使い方を選ぶ場合もあるだろう。その場合注意しなければならないのは、サーバのメールボックスは有限の記憶領域であるということだ。受信したメールを削除せずにそのままにしておけば、やがてメールボックスの容量が不足してメールを受け取れなくなる。

 そういったケースでは、図1の設定項目にあるように「受信してから指定日数経過したものは削除する」というオプションを選択する。どのような仕組みで実現するかは各々のメーラの実装に依存するが、画面に表示されている説明文に「UIDLコマンドをサーバがサポートしている必要がある」と記載されている。そこから次のような処理が行なわれていると想像できる。

 クライアントはPOP3サーバにアクセスするたびにUIDLコマンドを使い、サーバに残されているメールを識別するIDを取得する。このIDはクライアントにメッセージ情報として取得した日付とともに記録する。UIDLコマンドで取得するIDはメッセージを識別するユニークなIDなので、POPサーバにアクセスするごとに、サーバに残っているメールについてはすでに記録済みのIDを受信することになる。

 もし記録にないIDがあれば新たにメールが届いたと判断し、日付とともに記録に追加する。このようにUIDLの応答を記録することで、受信してから経過した日数を判断できるというわけだ。UIDLコマンドで取得する情報をうまく使えば、オプション項目にあるように指定日数経過したメールを検知し、そのメールを削除することが可能となる。

(次ページ、「パスワードを守るAPOPの認証」に続く)


 

前へ 1 2 次へ

この連載の記事
ピックアップ