- ベストアンサー
POPメールの既読、未読について
こんにちは。 現在、solaris9上でメールサーバを構築しています。このたび、サーバを更改し、メールデータをコピーして、Qmail環境からpostfix+tpop3d+DRAC環境に変更しました。 しかし更改と同時に、クライアントがメールを受信しようとしたら、既読のメールを何百通も再受信してしまったという現象が起こりました。 私の認識では、メールの既読、未読を管理しているのは、クライアントのメーラなので、popサーバを更改しても、メールの再受信はないものと考えていたのですが、認識が誤っているのでしょうか? POPサーバにおける未読、既読の管理について、ご教授いただければと思います。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして。 未読、既読の管理については、質問文のとおり、クライアント側で行われています。ですが、そのためにサーバが発行するメッセージのIDを利用しています。 このIDは、セッション後も同じIDとなることが保証されており、クライアントは、どのIDのメッセージが既読であるか覚えているのです。 サーバを変更したことにより、サーバが発行するメッセージIDが変わってしまったために、今回の現象が発生したと思われます。 # ちなみに、ネットワークの仕様についてはRFCを参照するのが良いと思われます。POP3はRFC1939で規定されており、これはRFCの中では読みやすいものとしてよく紹介されます。時間のあるときにでも眺めてみてはいかがでしょうか。
その他の回答 (5)
- haruyutaka
- ベストアンサー率0% (0/1)
No.3です。 すみません、ウソ言ってましたね。まだまだ修行がたりない。
- notnot
- ベストアンサー率47% (4900/10359)
#4の方が回答の一歩手前まで書いているのですが、 >メールクライアントは、メッセージの特定にはUIDLコマンドの出力値を使います。 UIDLコマンドをサポートするPOPサーバーは現在では100%と言っていいと思いますが、POPサーバープログラムの種類や設定によってIDの形式が異なります。したがって、POPサーバープログラムを変更したら全部未読になります。
- K_Senryu
- ベストアンサー率100% (6/6)
haruyutaka さんへ > % telnet メールサーバ名 110 > user ユーザ名 > pass パスワード > list > > ってやるとわかりますよ。 LIST コマンドの出力はメッセージの番号とオクテット数(サイズ)です。 この番号は、セッション間で同じになることが保証されていないため、メッセージの特定に使えません。 例: LIST +OK 1 100 2 200 3 300 DELE 2 # 2番のメッセージを削除 +OK LIST +OK 1 100 3 300 (ログアウト後、再度ログインする) LIST +OK 1 100 2 300 # 旧3番のメッセージは2番になっている。 そのような理由から、メールクライアントは、メッセージの特定にはUIDLコマンドの出力値を使います。UIDLコマンドは規定上はオプションなので、サーバによってはサポートしていないこともありえますが、現在は一般化しており、ほとんどのサーバ・クライアントで利用しています。 以上、少し気になりましたので投稿させていただきます。
- haruyutaka
- ベストアンサー率0% (0/1)
popコマンドの中でLISTを出すと 1 XXXXX 2 XXXXX 3 XXXXX という様に、メールの番号とそれのメッセージの 番号が返されます。XXXXXというのは、メールサーバ が独自に作成するものみたいです。。たしか、、 クライアントは、このリストを記憶しておいて、 ダウンロードしたか・していないか判断しています。 なので、popサーバがことなると上のXXXXXって値が 異なる値を返します。なので、クライアントはダウンロードしてしまいます。 % telnet メールサーバ名 110 user ユーザ名 pass パスワード list ってやるとわかりますよ。
- pipipi523
- ベストアンサー率40% (148/365)
メールの一覧の中から何をダウンロードしたのかを覚えているのはクライアント側ですがメール一覧を提供するのはサーバー側です サーバーを変えたことでメール一覧データが変わってしまい(順番とか容量とか・・)未読と判断されたのではないかと推測 telnetでメールサーバーに接続してみて何が変わったのか確認しては如何でしょうか? 参照URL: http://www.olug.gr.jp/index.php?%5B%5BTelnet%A4%C7%CD%B7%A4%D6%5D%5D