POP3【Post Office Protocol Version 3】

広告

広告

POP3とは

最終更新
2005-12-17T15:11:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/pop3.html#what

POP3インターネットイントラネット上で、電子メールを保存しているサーバMTA【Message Transfer Agent】と呼ぶ)から電子メールをダウンロード(maildrop)するサービスを提供する簡易プロトコルです。MTAはMTS【Message Transfer System】と呼ばれるメッセージ転送システムによって、宛先であるMTAに電子メールを一時的に保管します。この一時的な保管場所のことをメールボックス(又はPOPアカウント)と呼ぶのですが、MTAによる仕事はここまでで、メールボックスに保存してある電子メールをどのように扱うかを決定するのは個々のユーザに任されます。ほとんどのユーザはMTAを個々の端末に立ち上げておらず、MUA【Mail User Agent】機能を個々の端末に持たせ、MTAを別途用意する方法が一般化しました。そこで、メールボックスから個々の端末に電子メールをダウンロードするためのプロトコルが必要となったと言うわけです(下図参照)。

POP3の概要

POP3クライアントにできることは、POP3サーバから電子メールを取り出す(maildrop)ことと、POP3サーバ上の電子メールを削除することだけです。電子メールを送信する場合はSMTPのような電子メール送信用のプロトコルを用いる必要があります。また、POP3プロトコルはクライアントサーバ型のTCP上で動作するアプリケーションプロトコルです。サーバ側の待受けポートは110番を使用し、クライアントから110番ポートへの接続があった場合にサーバはPOP3サービスを開始します。

POP3のコマンドとレスポンス

最終更新
2005-12-17T16:54:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/pop3.html#com_and_res

POP3HTTPSMTPのようにASCIIコードベースのプロトコルです。即ち、文字列の終端がCR+LFで示されるリクエストとレスポンスによって通信が行われることとなります。リクエストを表すコマンド行は必ず1行ですが、レスポンス行は1行の場合もあれば複数行に渡る場合もあります。複数行に渡る場合は、最終行をピリオドのみとしてレスポンスの最終行であることを示さなければなりません(実際は終了行の前の行のCR/LFと合さり、「CR/LF.CR/LF」の5文字で最終行を表すこととなります)。

コマンドは3,4文字の印刷可能なASCII文字列のキーワードと、1つのスペースで区切られた一つまたは複数の最大40文字のパラメータからなります。レスポンスの1行目は必ずステータスを表し、正常(+OK)かエラー(-ERR)しか存在しません。エラー番号などは定義されていませんので、詳細はステータスメッセージから判断されることとなります。

POP3の通信例

POP3のコマンドとレスポンス
状態コマンド意味パラメータレスポンス意味パラメータ
--POP3サービス開始の挨拶-+OK-任意のメッセージ列
AUTHORIZATIONUSERメールボックス名の送信メールボックス名+OK肯定応答任意のメッセージ列
-ERRメールボックス名誤り任意のメッセージ列
PASSメールボックス名の送信メールボックスパスワード+OK肯定応答任意のメッセージ列
-ERRパスワード誤り任意のメッセージ列
APOPメールボックス、認証文字列の送信メールボックス名ダイジェスト+OK肯定応答任意のメッセージ列
-ERR否定応答任意のメッセージ列
AUTHIMAP4認証IMAP4認証文字列+OK肯定応答任意のメッセージ列
-ERR否定応答任意のメッセージ列
QUITサインオフ-+OKサインオフ確認任意のメッセージ列
TRANSACTIONSTATmailrop情報問い合わせ-+OKメールボックス全体の情報通知メッセージ数、合計サイズ
LIST全体/特定情報問い合わせメッセージ番号+OK該当メッセージの情報通知メッセージ番号、サイズ
RETRメールのダウンロード要求メッセージ番号+OK肯定応答/後続メール、メッセージ行の列任意のメッセージ列/メール、メッセージ行
-ERRメール無し任意のメッセージ列
DELEメールの削除要求メッセージ番号+OK削除OK任意のメッセージ列
-ERR削除不可任意のメッセージ列
TOP指定メッセージのヘッダ及び指定した行数分のメッセージ部メッセージ番号、メッセージ行数+OK後続メール、メッセージ行の列任意のメッセージ列/メール、メッセージ行
-ERRメール無し任意のメッセージ列
UIDLメッセージunique-idの問い合わせメッセージ番号+OK応答unique-id列、unique-id行の列
-ERRメール無し任意のメッセージ列
NOOP無操作-+OK応答-
RSET削除マークのリセット-+OK応答任意のメッセージ列
QUIT完了通知-+OKサインオフ確認任意のメッセージ列
UPDATE------

クライアントからのコマンドがRFCに規定されていないものであった場合、サーバ側は否定応答をしなければなりません。

ユーザ認証にはUSER/PASS、APOP、AUTHのいずれかが使われます。

POP3サーバ状態
状態名意味
AUTHORIZATIONクライアントが正当なユーザかどうかをチェックする。
TRANSACTION通信中に外部からの変更等が無いよう、排他制御を行う。
UPDATEメールの更新や使用したリソースの開放を行う。

POP3の状態遷移図

補足知識

最終更新
2005-12-17T13:44:00+09:00
この記事のURI参照
https://www.7key.jp/nw/technology/protocol/pop3.html#supplement

POP/POP2とPOP3は互換性が維持されていない。

広告

Copyright (C) 2005 七鍵 key@do.ai 初版:2005年12月17日 最終更新:2005年12月17日