コンピューティングにおいて、Post Office Protocol ( POP ) は、電子メールクライアントがメールサーバーから電子メールを取得するために使用するアプリケーション層のインターネット標準プロトコルです。 [ 1 ]現在、POP バージョン 3 ( POP3 ) が最も一般的に使用されているバージョンです。IMAP とともに、電子メール取得のための最も一般的なプロトコルの 1 つです。
POP は、インターネット プロトコル(IP) ネットワークを介して、ユーザー クライアント アプリケーションがメール サーバーで管理されているメールボックス (メール ドロップ) にアクセスできるようにします。このプロトコルは、メッセージのリスト、取得、削除操作をサポートしています。POP3 クライアントは接続し、すべてのメッセージを取得してクライアント コンピュータに保存し、最後にサーバーから削除します。[ 2 ]この POP の設計と手順は、ダイヤルアップ アクセスなどの一時的なインターネット接続しか持たないユーザーのニーズによって推進され、これらのユーザーが接続時に電子メールを取得し、オフライン時に取得したメッセージを表示および操作できるようにしました。
POP3クライアントには、受信後にサーバー上にメールを残すオプションもあり、この動作モードでは、クライアントはUIDLコマンド(unique-id list)で識別された新しいメッセージのみをダウンロードします。これに対し、インターネットメッセージアクセスプロトコル(IMAP)は、複数のクライアントアプリケーションによる管理を可能にし、接続状態(オンライン)と切断状態(オフライン)の両方の動作モードをサポートするために、通常はすべてのメッセージをサーバー上に残すように設計されています。
POP3サーバーは、TCPの既知のポート番号110でサービス要求を待ち受けます。POP3の暗号化通信は、プロトコル開始後にSTLSコマンドを使用して(サポートされている場合)要求されるか、またはPOP3Sによって要求されます。POP3Sは、 TCPの既知のポート番号995でトランスポート層セキュリティ(TLS)またはセキュアソケットレイヤー(SSL)を使用してサーバーに接続します。
クライアントが利用できるメッセージは、POP3セッションがメールドロップを開いたときに決定され、そのセッション固有のメッセージ番号、またはオプションとしてPOPサーバーによってメッセージに割り当てられた一意の識別子によって識別されます。この一意の識別子は永続的でメールドロップ固有のものであり、クライアントが異なるPOPセッションで同じメッセージにアクセスできるようにします。メールはメッセージ番号に基づいて取得され、削除対象としてマークされます。クライアントがセッションを終了すると、削除対象としてマークされたメールはメールドロップから削除されます。
郵便局プロトコルの最初のバージョンであるPOP1は、ジョイス・K・レイノルズによってRFC 918(1984年)で規定された。POP2はRFC 937(1985年)で規定された。
POP3は最も一般的に使用されているバージョンです。その起源はRFC 1081(1988年)にありますが、最新の仕様はRFC 1939であり、RFC 2449で拡張メカニズム、RFC 1734で認証メカニズムが追加されました。これにより、Pine、 POPmail 、その他の初期のメールクライアントなど、数多くのPOP実装が生まれました。
当初の POP3 仕様では暗号化されていない USER/ PASSログインメカニズムまたは Berkeley .rhostsアクセス制御のみがサポートされていましたが、現在 POP3 は、ユーザーの電子メールへの不正アクセスに対するさまざまなレベルの保護を提供する複数の認証方法をサポートしています。そのほとんどは POP3 拡張メカニズムによって提供されます。POP3 クライアントは、AUTH 拡張機能を介してSASL認証方法をサポートしています。MIT Project Athena はKerberizedバージョンも作成しました。RFC 1460 は、コア プロトコルに APOP を導入しました。APOP は、リプレイ攻撃と共有秘密情報の漏洩を回避するためにMD5ハッシュ関数を使用するチャレンジ レスポンスプロトコルです。APOP を実装しているクライアントには、Mozilla Thunderbird、Opera Mail、Eudora、KMail、Novell Evolution、RimArts のBecky!、[ 3 ] Windows Live Mail、PowerMail、Apple Mail、およびMutt があります。 RFC 1460はRFC 1725によって廃止され、RFC 1725はRFC 1939によってさらに廃止された。
POP4 は、IMAP に対抗するために基本的なフォルダ管理、マルチパート メッセージのサポート、およびメッセージ フラグ管理を追加する非公式な提案としてのみ存在していますが、2003 年以降開発は進んでいません。現在、2 つの POP4 サーバー実装が知られています。2013 年 10 月現在、POP4.org ドメインと Web サイトは simbey.com によってホストされており、もう 1 つの POP4サーバー実装もそこで実行されています。[ 4 ]
RFC 2449では、一般的な拡張機能に対応するとともに、TOPやUIDLなどのオプションコマンドのサポートを体系的に通知するための拡張メカニズムが提案されました。しかし、このRFCは拡張機能を推奨するものではなく、POP3の役割は主にメールボックス処理におけるダウンロードと削除の要件をシンプルにサポートすることであると改めて強調しました。
拡張機能は機能と呼ばれ、CAPAコマンドで一覧表示されます。APOPを除き、オプションコマンドは初期機能セットに含まれていました。ESMTP(RFC 5321)に倣い、Xで始まる機能はローカル機能を示します。
STARTTLS拡張機能を使用すると、代替ポートではなく標準のPOP3ポートで、 STLSコマンドを使用してトランスポート層セキュリティ(TLS)またはセキュアソケットレイヤー(SSL)の使用をネゴシエートできます。一部のクライアントとサーバーは、代わりにTCPポート995(POP3S)を使用する代替ポート方式を使用します。
Demon Internet は、ドメインごとに複数のアカウントを許可する POP3 の拡張機能を導入し、Standard Dial-up POP3 Service (SDPS) として知られるようになりました。[ 5 ]各アカウントにアクセスするには、ユーザー名にホスト名を含め、john@hostnameまたはjohn+hostname の形式を使用します。
Google Appsも同じ方法を使用しています。[ 6 ]
コンピューティングにおいて、ローカルの電子メールクライアントは、アプリケーション層のインターネット標準プロトコルであるKerberized Post Office Protocol(KPOP)を使用して、 TCP/IP接続を介してリモートサーバーから電子メールを取得できます。KPOPプロトコルはPOP3プロトコルをベースにしていますが、Kerberosセキュリティが追加されている点と、デフォルトでTCPポート番号110ではなく1109で実行される点が異なります。メールサーバーソフトウェアの実装例として、 Cyrus IMAPサーバーがあります。
以下のPOP3セッションダイアログはRFC 1939の例です。[ 7 ]
S: <TCPポート110での接続を待機> C: <接続を開く> S: +OK POP3サーバー準備完了 <1896.697170952@dbc.mtview.ca.us> C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mroseのメールドロップには2件のメッセージがあります(320バイト) C: STAT S: +OK 2 320 C: リスト S: +OK 2 メッセージ (320 オクテット) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120オクテットS: <POP3サーバーがメッセージ1を送信> S: . C: DELE 1 S: +OK メッセージ 1 が削除されました C: RETR 2 S: +OK 200オクテットS: <POP3サーバーがメッセージ2を送信> S: . C: DELE 2 S: +OK メッセージ 2 が削除されました C: 終了 S: +OK dewey POP3サーバーがログオフします(メールボックスは空です) C: <接続を閉じる> S: <次の接続を待つ>
オプションのAPOPコマンドがないPOP3サーバーは、クライアントがUSERコマンドとPASSコマンドを使用してログインすることを想定しています。
C: USER mrose S: +OK ユーザーが承認しました C: PASS tanstaaf S: +OK パスが承認されました
インターネットメッセージアクセスプロトコル(IMAP)は、代替となる、より新しいメールボックスアクセスプロトコルです。主な違いは以下のとおりです。