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