目次
POP3の概要
POP3(Post Office Protocol version3)とは、電子メールを受信するためのプロトコルです。SMTPと同じくアプリケーション層に含まれるプロトコルで、トランスポート層にTCPを利用しています。ウェルノウンポート番号は110です。
メールサーバ上には、ユーザのメールアカウントごとにメールボックスが作成されていて、該当ユーザのメールが保存されています。POP3のコマンドと応答コードのやり取りで、ユーザは自分のアカウントのメールボックスにある電子メールをダウンロードして、メールを読めるようにします。
POP3コマンドと応答コード
POP3でメールを受信する際の主なPOP3コマンドと応答コードを以下の表にまとめています。
POP3コマンド | 意味 |
USER | ユーザ名の送信 |
PASS | パスワードの送信 |
STAT | メールボックスのステータス表示 |
LIST | メールの一覧表示 |
RETR | メールの取得 |
DELE | メールの削除 |
QUIT | POP3の通信の終了 |
応答コード | 意味 |
+OK | 正常応答 |
-ERR | 異常応答 |
POP3の手順
メールソフトで受信ボタンをクリックすると、上記のPOP3コマンドと応答コードのやり取りが行われます。
- ユーザ認証(USERコマンド、PASSコマンド)
- メールボックス内のメールの取得(STATコマンド、LISTコマンド、RETRコマンド)
- メールの削除(DELEコマンド)
- POP3通信の終了(QUITコマンド)
POP3では、ユーザ認証が必要です。第三者に勝手にメールを見られないようにするためです。USERコマンドでメールアカウントのユーザ名を送信します。メールサーバからは+OKの応答コードを返します。そして、PASSコマンドでパスワードを送信し、メールサーバで正しいパスワードであることを確認できれば+OKの応答コードを返し、ユーザ認証が完了します。ただし、POP3のユーザ認証では送信するユーザ名やパスワードを暗号化せずにそのまま送信してしまっています。POP3の通信が盗聴されてしまうと、メールアカウントのユーザ名やパスワードが漏れてしまうので、注意が必要です。
ユーザ認証が完了したら、STATコマンドでメールボックスのステータスを確認します。サーバからは+OKの応答コードとメールボックス内のメールの数とサイズが返されます。
LISTコマンドによって、メールボックス内のメールの一覧を取得します。そして、実際にメールを取得するためにRETRコマンドを利用します。
POP3でメールを受信したら、基本的にメールボックスから受信したメールを削除します。そのために、DELLコマンドを使います。
メールの受信がすべて完了すると、QUITコマンドでPOP3の通信を終了します。
POP3のメールの管理
POP3でメールを受信すると、メールのデータは受信したPCで管理することになります。メールを受信したあとも一定期間メールサーバにメールを残しておくこともできますが、基本的には、メールを受信するとメールサーバからは削除されます。PCローカルでメールデータを管理するので、メールデータのバックアップはPCごとに行う必要があります。また、複数のPCで同じアカウントのメールを読みたいとしても、1台のPCでいったんメールを受信すると、他のPCではそのメールを読めなくなってしまう可能性があります。
オフィスでデスクトップPC、出先でノートPCのように一人で複数のPCを利用することが珍しくない状況です。そうすると、複数のPCで同じメールが読める状態、つまりメールデータの同期を行いたいと考えるが普通です。ですが、POP3では複数のPCでメールデータを同期することはできません。メールデータの同期を行うには、ユーザが複数のPCのメールデータのファイルをコピーするなどしなければいけません。
TCP/IP
- TCP/IPの階層
- IP(Internet Protocol) ~データを送り届ける~
- ICMP ~きちんとIPで転送できますか?~
- Ping ~きちんとデータは届きますか?~
- Windows OSのPingコマンド
- トレースルート ~データはどのルータを通っていますか?~
- tracertコマンド(Windows OS)
- ICMPリダイレクト
- トラブルはどこ? ~Pingとトレースルート~
- ARP ~IPアドレスとMACアドレスを対応付け~
- ARPフォーマット
- Gratuitous ARP(GARP)
- ポート番号 ~どのアプリケーションのデータなの?
- TCPの概要
- TCPの動作
- UDPの概要
- アプリケーションのデータが届くまでのまとめ
- DNS ~宛先IPアドレスを求める~
- nslookupコマンド ~DNSの名前解決の確認~
- DHCP ~IPアドレスを自動割り当て~
- Cisco IOS DHCPサーバの設定と確認コマンド
- Ciscoルータ DHCPサーバの設定例
- DHCPリレーエージェント
- DHCPリレーエージェントの設定例[Cisco]
- DHCPサーバ配置のまとめ
- TCP/IPの設定のまとめ
- ipconfigコマンド ~Windows OSのTCP/IP設定を確認~
- Linux(Ubuntu)でのTCP/IP設定の確認コマンド
- Webサイト
- HTMLとCSS ~Webページを作る~
- URL ~Webサイト(Webページ)のアドレス~
- HTTP ~HTMLファイルを転送する~
- Webアプリケーション ~Webブラウザだけあればいい~
- HTTP Cookie
- Webアプリケーションのセッション管理
- Webプロキシサーバ ~Webアクセスを代わりに~
- Webアクセスのまとめ
- 電子メール
- SMTP ~電子メール送信用プロトコル~
- POP3 ~メール受信用プロトコル~
- IMAP4 ~メールサーバ上でメールを管理~
- 電子メールのまとめ
- FTP ~代表的なファイル転送プロトコル~
- TFTP ~簡易的なファイル転送プロトコル~
- Windows10/11のTFTPクライアント
- ネットワークのトラブルの切り分け手順