このページの本文へ

電子メールの秘密 第4回

メールのプロトコルを知ろう

メールを送受信する仕組みとは?

2009年07月21日 09時00分更新

文● 遠藤哲

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

メールを受信するプロトコルの種類

 前述のとおり、メールの受信プロトコルにはPOP3とIMAP4という2つの標準プロトコルがある。歴史的にはPOP3が古く、1988年にRFC 1081(Post Office Protocol:Version 3)として初めて標準化された。現在POP3の最新規格は、1996年に発行されたRFC 1939となっている。

 POP3が標準化される以前、メールシステムの初期の頃は現在のメールクライアントのようにGUIで操作できるといった気の利いたものはなかった。まず、メールサーバにSMTPでメールが届くと、メールサーバは宛先のユーザーのメールボックスにメールを格納する。そのメールを見たければメールサーバにTelnetで接続し、コンソール画面に表示していたのだ。

標準的なプロトコルPOP3

 その後、PCの普及によりユーザー側に高性能のコンピュータが用意できるようになり、クライアントにメールをダウンロードして読み出すことが考えられた。それを実現したのがPOP3である。当時のインターネット環境はダイヤルアップ接続が主流であり、サーバマシンの処理能力やディスク容量などリソースに限りがあった。したがって、クライアントPCにメールを読み出すことで通信時間やサーバの負荷を低減していた。この結果、現在はPOP3の利用が一般的となっている。

 それではPOP3を使ってどのような操作が行なわれているか説明していこう(図2)。POP3でのやり取りは大きく3つにまとめることができる。始めにメールクライアントからPOP3サーバに接続しユーザー認証を行なう。このユーザー認証によって、POP3サーバがアクセスするメールボックスが決定される。

図2 POP3の仕組み

 ユーザー認証が成功すると、続いてメールボックスに以下の操作が行なわれる。受信したメールの数やサイズを読み出すことと、サーバ側のメールボックスからメールを読み出し、ローカルのメールボックスに格納すること、そしてメールボックスの中のメールに削除するマークを付けることである。

 メール受信の操作が終わり、クライアントからPOP3セッションの終了が告げられると、サーバ側では削除マークを付けたメールをメールボックスから削除する。そして、メールボックスの管理情報を更新してPOP3 のセッションを終了する。

 POP3 のこの一連の操作は、クライアントから送られるコマンドによって行なわれる。たとえば受信メールの数とサイズを読み出すSTATコマンドやメールメッセージを読み出すRETRコマンド、読み出したメールメッセージに削除マークを付けるDELEコマンド、そしてPOP3セッションを終了するQUITコマンドなどである。POP3では、コマンドとその応答はすべてテキストベースで行なわれる。

 もちろんサーバ側のメールを削除せずに残して置くこともできる。メールクライアントのオプション設定で「サーバにメッセージを残す」を選択すれば、メールクライアントはDELEコマンドをPOP3 サーバに送らない。

サーバにメールを保存するIMAP4

 2つ目のメール受信プロトコルはIMAP4である。1994年にRFC 1730として標準化され、最新はRFC 3501(Internet Message Access Protocol version 4 rev1)となっている(図3)。

図3 IMAPの概要

 POP3とIMAP4の最大の違いはメールの管理方法にある。POP3ではメールをクライアント側のPCにダウンロードし、クライアント側でメールを管理していた。そのためメールクライアントの受信トレイを見ると、そのPCに用意されたメールの保存領域がローカルフォルダという名前で表示されている。

 一方、IMAP4はサーバ上にメールを保存しておく。そして、メールクライアントはサーバ側の様子を表示しているのである。クライアントPC上にメールの保存領域を持たないので、ローカルフォルダとは別にIMAP用の受信トレイアイコンが表示される。

 このように、IMAP4ではサーバ側にメールを保存しているため、サーバとつねに通信できる環境が前提となっている。また、メールの実体が離れた場所にあることにはメリットがある。たとえばPCの故障などでデータが消滅するリスクを回避できる。

 続いてIMAP4の通信プロトコルの概要を説明しよう。IMAP4を使ってサーバとクライアント間で行なう通信は、サーバに接続後ユーザー認証を行ない、メールボックスおよびメールを操作し終了するという流れである。このようにIMAP4は、通信手順はPOP3とそれほど変わらない。しかし、IMAP4はサーバ側にメールの実体を置きながらローカルフォルダを扱うのと同じ操作性をユーザーに提供するため、POP3にはないコマンドが多く用意されている。また、内容を変更するとその場で管理情報が更新される。つまり、POP3のようにセッションの終了をトリガーとして管理情報の更新は行なわれない。

(次ページ、「ユーザー認証を安全に行なう仕組み」に続く)


 

カテゴリートップへ

この連載の記事