メールサーバからメールを受信する際に使用する通信プロトコルでユーザ認証機能(USER, PASS)が最初にあるだけで、SMTPとは違って基本的にコマンド発行の順番はない
クライアント
|
サーバー
|
|||
@ |
telnet サーバ名 110 等・・・ |
@ | 接続許可(OK)を返信 | |
A | ユーザーIDを送信 | A | 要求許可(OK)を返信 | |
B | パスワードの送信 | B | 要求許可(OK)を返信 | |
C | メール(メッセージ番号)一覧の取得要求の送信 | C | 要求許可(OK)とメッセージ番号を返信 | |
D | メッセージ番号で指定したメールの取得要求の送信 | D | 要求許可(OK)とメールのヘッダ、本文を返信 | |
E | メッセージ番号で指定したメールの削除要求の送信 | E | 削除要求許可(OK)を返信する ※1 RFC上はQUITを実行するまで削除しないが ほとんどのサーバはコマンド許可で削除する |
|
F | メッセージ番号で指定したメールの ユニークID(UID)取得要求を送信 UIDは新着メールか受信済みメールかを判断するのに使用される (メーラーが保存しておく) |
F | OKとUIDを返信する UIDはサーバ上でユニークにふられるのでクライアント側で受信済みかどうかの判断に使用される |
|
G | セッションの終了要求を送信 | G | 終了要求許可(OK)を返信する | |
H | 接続を切断する |
コマンド | 説明 | 例 |
---|---|---|
USER | ユーザIDを送信する | USER me |
PASS | パスワードを送信する | PASS mypasswd |
LIST | サーバ上にあるメール(メッセージ番号)の一覧を取得する サーバー上に存在するメッセージに連番をふった形でメール一覧を取得する |
LIST |
UIDL | メールのユニークIDを取得する メッセージ番号を引数に実行し、受信メールをユニークに識別できるユニークIDを取得する。 このIDは過去に受信済みであればクライアント側で記憶されており、メール受信時に各メールがすでに受信したものか未受信かの判断に使用される。 |
UIDL 1 |
RETR | メールを取得する メッセージ番号で指定したメールをクライアント側に取得する |
RETR 1 |
DELE | メッセージ番号で指定したメールを削除する。 このときRFC上厳密にはセッション終了時までは削除フラグが立った状態で削除しないことになっているが、実際の実装ではほとんどのメーラーがその場で削除している。 |
DELE 1 |
QUIT | セッションの終了要求を送信する | QUIT |