4. The AUTHORIZATION State (認証状態)
POP3クライアントがTCP接続を開くと、POP3サーバーは1行の挨拶メッセージを発行します。これは任意の肯定的なレスポンスであることができます。例えば次のようなものです。
S: +OK POP3 server ready
POP3セッションは現在、認証状態 (AUTHORIZATION state) にあります。クライアントは現在、POP3サーバーに対して自身を識別し、認証しなければなりません (must)。本文書では、2つの可能なメカニズムについて説明しています: USERとPASSコマンドの組み合わせ、およびAPOPコマンドです。これらの2つのメカニズムについては、本文書の後半で説明します。その他の認証メカニズムは [RFC1734] に記載されています。すべてのPOP3サーバーに必須の単一の認証メカニズムはありませんが、POP3サーバーは少なくとも1つの認証メカニズムをサポートしなければなりません。
任意の認証コマンドの使用を通じて、POP3サーバーがクライアントに適切なメールドロップへのアクセスを許可すべきであると判断すると、POP3サーバーはメールドロップ上で排他的アクセスロック (exclusive-access lock) を取得し、セッションが更新状態に入る前にメッセージが変更または削除されないようにします。ロックが正常に取得されると、POP3サーバーは肯定的なステータスインジケータで応答します。POP3セッションは現在、トランザクション状態 (TRANSACTION state) に入り、削除としてマークされたメッセージはありません。何らかの理由でメールドロップを開くことができない場合 (例えば、ロックを取得できない、クライアントが適切なメールドロップへのアクセスを拒否された、またはメールドロップを解析できない)、POP3サーバーは否定的なステータスインジケータで応答します。(ロックが取得されたがPOP3サーバーが否定的なステータスインジケータで応答する意図がある場合、POP3サーバーはコマンドを拒否する前にロックを解放しなければなりません (must)。) 否定的なステータスインジケータを返した後、サーバーは接続を閉じることができます (may)。サーバーが接続を閉じない場合、クライアントは新しい認証コマンドを発行して再開することができます (may)、またはクライアントはQUITコマンドを発行することができます (may)。
POP3サーバーがメールドロップを開いた後、各メッセージにメッセージ番号 (message-number) を割り当て、各メッセージのサイズをオクテット単位で記録します。メールドロップ内の最初のメッセージにはメッセージ番号"1"が割り当てられ、2番目には"2"が割り当てられ、以下同様に、メールドロップ内のn番目のメッセージにはメッセージ番号"n"が割り当てられます。POP3コマンドとレスポンスでは、すべてのメッセージ番号とメッセージサイズは10進数 (base-10) で表現されます。
認証状態でのQUITコマンドの概要は次のとおりです。
QUIT コマンド
引数 (Arguments): なし
制限 (Restrictions): なし
可能なレスポンス (Possible Responses):
+OK
例 (Examples):
C: QUIT
S: +OK dewey POP3 server signing off
用語集:
- AUTHORIZATION state: 認証状態
- TRANSACTION state: トランザクション状態
- UPDATE state: 更新状態
- exclusive-access lock: 排他的アクセスロック
- message-number: メッセージ番号
- maildrop: メールドロップ
- authentication: 認証
プロトコル規約:
S:はサーバーが送信することを示しますC:はクライアントが送信することを示します