2006年08月02日

POP3サーバーのメール受信の流れ

同じメールが何度も受信されてしまうケースとの関連。ここで、Outlook Expressご利用の場合について、実際にそのメールのやりとりの流れ、つまり画面上には表示されないもののバックでどんなやりとりが行われているかを再度検証。

メールソフトでは、サーバーとの通信時にサーバーからメールの一覧ファイル、UIDLという番号の付いたデータを受信しています。OutlookExpressでは、これをPop3uidl.dbxと言うファイル名で残しておいて、次回サーバーに接続した際に、再度受信されるUIDLファイルの内容と自分のPC内にあるUIDLファイルの内容を照合して、今回の一覧にあるUIDLのみを受信し、受信処理がすべて終了するとこのUIDLのみファイルを再度上書き保存していきます。また受信処理の際に、このリストに基づきサーバーに残す期限が過ぎたメールを一括して削除処理しています。

例えば、メールを受信中に、何らかのトラブルで受信が中止されてしまったようなケースでは、このUIDLファイルが更新されず、古いままのため、再度受信の際に、また最初からサーバーに残っているデータを受信しようとすることになります。
このOutlook Expressで使用されているPop3uidl.dbxファイルが破損しても同様の状態になってしまうわけですね。

a.メールソフトとメールサーバー間で、TCPコネクションが確立

〜ここからは、メールソフトからの要求に対して、その都度サーバーから応答メッセージが返ってきます

b.メールソフトから、USERコマンドでユーザーアカウントを通知
c.メールソフトから、PASSコマンドでパスワードを通知
d.メールソフトから、STATコマンドで到着しているメールの数とサイズを要求
e.メールソフトから、LISTコマンドですべてのメールのサイズを要求
f.メールソフトから、RETRコマンドでメールの転送を要求
g.メールソフトから、DELETコマンドでダウンロードしたメールをメールボックスから削除するように要求
h.メールソフトから、QUITコマンドでセッションの終了を通知

i.メールソフトとメールサーバー間のTCPコネクションの終了

と言うのが大まかな流れですが、ここでいうとLISTコマンドのあとにUIDLコマンドを実行してUIDLを受信しています。

"プロトコルに直接触れる−POP3"

"メール転送プロトコルのもう一方の担い手「POP3」"


上記サイトを参考にしていただければ、実際のやりとりがどんなものかおわかりいただけると思います。

"pop3のコマンドについて"
http://yudoufu.velvet.jp/pop.html
posted by クリック at 13:39| 東京 ☁| Comment(1) | TrackBack(1) | メール | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
Beckeyでは、"アカウント名@メールサーバ.dat"
Thunderbirdでは、"popstate.dat"
がこれに該当するファイルのようです
Posted by クリック at 2006年08月13日 18:25
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック

同じメールを何度も受信してしまう場合の対処法
Excerpt: POP3サーバーのメール受信の流れ
Weblog: パソコンのツボ ~Office のTIP
Tracked: 2006-08-02 13:50