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