POP3 メール受信
POP3は、メールを受信するためのプロトコルです。主にメールを送信するにはSMTPで行います。ここは、受信用のプロトコルに関するメモです。
詳しくは、RFC1939を参照します。
コマンド
POP3でのサーバからの応答は、+OKか**-ERR**しかありません。サーバとの通信は、次のコマンドで行います(他にもあります)。
コマンドに応じて+OKと-ERRの後にテキストが付加されます。
| コマンド | 意味 |
|---|---|
| USER ユーザー名 | 認証するユーザー名 |
| PASS パスワード | 認証するユーザーのパスワード |
| STAT | メールメッセージの数とサイズを応答する |
| LIST [メッセージ番号] | メールメッセージ番号とそれぞれのサイズを応答する。 |
| メッセージ番号が指定された場合には、該当メッセージ分のみが対象 | |
| RETR メッセージ番号 | 指定されたメッセージ番号のメッセージ全体を表示する |
| DELE メッセージ番号 | 指定されたメッセージ番号のメッセージを削除する |
| NOOP | サーバが稼働しているかを確認するために用いられる |
| RSET | 認証確立後発生した削除処理を全て取り消す |
| QUIT | ログアウトする |
メール(メッセージ)の終わり
メールの受信でメッセージの終わりは、ピリオド(.)のみの行が終わりになります。正確には、CRLF.CRLFが終了になります。
メールがピリオド(.)から始まる行を含む場合には、サーバが前にピリオド(.)を付加して送信します。そのため、クライアント側で追加されたピリオド(.)を削除する必要があります。
主な流れ
| クライアント | <ー> | サーバ |
|---|---|---|
| POP3サーバ接続 | ー> | |
| <ー | +OK | |
| USER ユーザー名 | ー> | |
| <ー | +OK | |
| PASS | ー> | |
| <ー | +OK | |
| STAT | ー> | |
| <ー | +OK メールの数 総サイズ | |
| LIST | ー> | |
| <ー | +OK | |
| <ー | メール番号とサイズのリスト(サーバにある分繰り返す) | |
| <ー | .CRLF | |
| RETR メール番号 | ー> | |
| <ー | +OK | |
| <ー | メッセージ | |
| <ー | CRLF.CRLF | |
| DELE メール番号 | ー> | |
| <ー | +OK | |
| QUIT | ー> |