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 | ー> |