POP3でのメール受信の仕組み

POP3のメール受信の仕組み

POP3はメールを受信するときに使用するプロトコルです。

POP3のやり取りは、大きく以下の3段階からなります。

  • 認証
  • トランザクション
  • アップデート

POP3のやり取り

まず、メール・ソフトからメール・サーバへTCPの110番ポート宛に
接続し、「認証」を行います。

認証段階では、アクセスしてきたユーザ名とパスワードを
メール・サーバがチェックします。

ちなみにこの時、メール・ソフトからUSERコマンドとPASSコマンドで
ユーザ名」と「パスワード」を送信します。

PASSコマンドで送られるパスワードは暗号化されていないため、
実はWiresharkなどでPOP3のやり取りをキャプチャすると
パスワードが丸見えだったりします(決して悪用しないように!)。

そのため、企業によっては暗号化して送信するAPOPという認証方式を
採用している場合もあります。

認証が完了すると、「トランザクション」段階に移行します。
ここでは、メール一覧を表示したり、メールを受信したりと
いった動作を行います。

最後の「アップデート」段階では、メール・ソフトから
依頼のあった処理をメール・サーバ側で処理する段階です。

例えばDELEコマンドで依頼したメールの削除などを行います。

以上でPOP3による受信動作は終了です。

POP3で使用するコマンドには以下のようなものがあります。

認証で使用するコマンド

  • USER
    認証するユーザー名を指定する
  • PASS
    認証するユーザーのパスワードを指定する
  • APOP
    USER、PASSコマンドの認証の代わりに使用する。
  • AUTH
    IMAP4認証を行う
  • QUIT
    ログアウトする

トランザクションで使用するコマンド

  • STAT
    メールメッセージの数とサイズの問い合わせ
  • LIST [メッセージ番号]
    メールメッセージ番号とそれぞれのサイズの問い合わせ。
  • RETR
    指定されたメッセージ番号のメッセージ全体のダウンロード要求
  • DELE
    指定されたメッセージ番号のメッセージの削除要求
  • NOOP
    何もしない
  • RSET
    認証確立後発生した削除処理を全て取り消す
  • TOP メッセージ番号 Line数
    指定されたメッセージ番号のメッセージの指定されたLine分だけを表示する。
  • UIDL [メッセージ番号]
    メッセージunique-idの問い合わせ
  • QUIT
    ログアウトする

ちなみに、メール・サーバに届いた新着メールを見分けるには、
メールごとに付与されているUID(Unique Identifier)
チェックします。

メール・クライアントは、UIDLコマンドでメール・サーバに
UIDリストを要求し、既に受信したメールのUIDと比較して、
受信していないメールだけどメール・サーバから
取り出す処理を行っています。

また、メールを取り込むプロトコルには、POPの他に
IMAP4(Internet Message Access Protocol 4)という
プロトコルがあります。

POP3では基本的にすべてのメールをダウンロードしますが、
IMAP4は指定したメールや添付ファイルだけど
ダウンロードすることができます。

さらにメールをサーバ側に残したままで、既読や未読の管理が可能と、
POP3よりも使い勝手が良いプロトコルです。
今後はIMAP4に対応したプロバイダが多くなるかもしれませんね。

迷惑メールを防ぐ認証技術

メールを使っていると、迷惑メールを受信することがあります。
時には受信したメールのほとんどが迷惑だったなんてことも・・・

迷惑メールが大量にくる理由として、メールを配送するプロトコル
SMTP」に認証するしくみが無いから。

POP3にはユーザを認証するしくみがあるのですが、
SMTPにはそのしくみがないため、このしくみを悪用して
大量の迷惑メールを送りつける被害が広がっています。

これではさすがにまずいということで考えられた技術が、
POP before SMTP」と「SMTP AUTH」という2つの技術。

POP before SMTP」は、SMTPを使用する前に
POP3を使うという技術。

POP3には認証するしくみがあるため、POP3で認証を行ってから、
SMTPを使った通信を行います。

POP3で認証すると、メール・サーバに認証したIPアドレスが
一定時間保持されます。

その時間内にSMTPの接続要求があったときだけ、接続を許可します。
このような動作をするため、メールの利用者はメール送信前に
必ずPOP3でメール・サーバにアクセスする必要がある点には注意が必要。

POP before SMTPの仕組み

SMTP AUTH」はSMTP自体に認証のしくみを入れたもの。
POP before SMTP」はメール・サーバ側にだけ設定を
追加すれば良いのですが、「SMTP AUTH」は、メール・サーバ、
メール・クライアントの両方で対応している必要があります。

SMTP AUTHの仕組み

ISPがこれらの対策を行ったため、迷惑メールを配信している業者が
考えた手段が、自分たちでメール・サーバを立てて、
そこから迷惑メールを送信するという方法。

この場合は、「POP before SMTP」と「SMTP AUTH」では
防ぐことが出来ません。 そこで数年前から各プロバイダが実施しているしくみが、
ポート25番ブロック」という方法。

これは、プロバイダが自社のメール・サーバ以外のメール・サーバが、
ポート25番を指定したアクセスがあった場合に、そのアクセスを
遮断するというしくみ。

こうすることで、勝手にメール・サーバを立てられても
メールの送信ができなくなります。

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: