- PR -

POPの重複受信について

1
投稿者投稿内容
ドラミ
常連さん
会議室デビュー日: 2005/09/27
投稿数: 25
投稿日時: 2007-12-13 18:09
いつもお世話になっております。
POPの重複受信についてご教授いただきたく、投稿させていただきます。

次の構成で、Courier-IMAP(3.0.8 )のPOP受信を2台で冗長化しています。

--------------------------------------------------------------------
       |...........................|....................|
    Load balancer(CSS)   OpenLDAP Server Client
     |...........|
MailSpoolA   MailSpoolB
   |.....................|
   |.....................|
    ------NFS-------

データの流れとしては、クライアントから負荷分散装置の仮想アドレスへPOP
アクセスを行い、メールの受信をしています。負荷分散装置の振り分けは、送
信元IPアドレスによるラウンドロビンを使用しています。

この状態で通常のPOP受信は問題なく行われるのですが、OutLookExpress(6)の
設定で「サーバーにメッセージのコピーを置く」にチェックを入れると、
2〜5日後に、過去2〜5日の間に受信したメールが再度受信してしまいます。

IMAPのUIDLコマンドを実行すると、次の現象が発生しています。
***********************************************************
■MailSpoolA
[root@MailSpoolB root]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user hoge@example.com
+OK Password required.
pass *****
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 11120
2 11370
3 1328
.
uidl
+OK
1 1196222123.16414.pop03.example.com,S=10855
2 1196248456.26392.pop02.example.com,S=11101
3 1196248477.26870.pop02.example.com,S=1299
.
■MailSpoolB
[root@MailSpoolB root]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user hoge@example.com
+OK Password required.
pass *****
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 11120
2 11370
3 1328
.
uidl
+OK
1 UID147-1195179386
2 UID148-1195179386
3 UID149-1195179386
.
***********************************************************

UIDLの実行結果が異なる値が返ってきますが、どちらが正しくてどちらが不正
なのか、回避策がないか模索しているところですが、行き詰まりつつあります
ので、調査方法や回避策などありましたらご教授いただきたく、お願いいたし
ます。

■構成
RedHat ES 4(U4)
Courier-IMAP 3.0.8
qmail-1.03

宜しくお願いします。


[ メッセージ編集済み 編集者: ドラミ 編集日時 2007-12-13 18:17 ]
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2007-12-16 19:00
引用:

uidl
+OK
1 1196222123.16414.pop03.example.com,S=10855
2 1196248456.26392.pop02.example.com,S=11101
3 1196248477.26870.pop02.example.com,S=1299


こっちは昔のUIDL形式ですね。Version 0.

引用:

uidl
+OK
1 UID147-1195179386
2 UID148-1195179386
3 UID149-1195179386


こっちは3系の普通のフォーマットですね。
UIDはcourierpop3dsizelistをして取得するんですけど
前者はcourierpop3dsizelistがOpen出来ていないかもしれません。

_________________
桃李不言 下自成蹊
ドラミ
常連さん
会議室デビュー日: 2005/09/27
投稿数: 25
投稿日時: 2007-12-17 16:03
anight様

返信ありがとうございます。

確かにcourierpop3dsizelistを削除してPOPコマンドからUIDLを実行すると、前者のメールファイル名が返ってきます。
コマンドラインからviewコマンドを使用しては見れるのですが、POPコマンドからはcourierpop3dsizelistが見れていないのかもしれません。

MailSpoolAとBから同時にviewでアクセスしても正常に見れるのですが、NFSの排他制御とかなにか関係していそうでしょうか?


リリースノートには書かれてませんが、Courier-IMAPのバグですかね?
1

スキルアップ/キャリアアップ(JOB@IT)