dovecot +mbox環境でInvalid messageseと出てメールが読めない時の覚え書き

 風邪かインフルエンザかとにかく体調が悪いというのに、いきなりメールが読めなくなりました。

 Spoolにはちゃんと新着がためっているんですが、THUNDERBIRDでアクセスすると「コマンドは成功しませんでした Invalid messageset : -2147483648」みたいなエラーが返ってきます(日本語部分はうろ覚え。数字は毎回異なります)。ググっても日本語でめぼしい情報がなく、英語で手がかりを得られたので、覚え書きとして記しておきます。

 見つけた情報はこちら。dovecot(imap4サーバー)をmbox環境で利用する場合に起きるトラブルで、メールサーバーがメールボックス管理に使うX-UIDというヘッダの数字が大きすぎると発生する模様。(問題が発生しているアカウントをhogeだとして)試しに、

 tail /var/spool/mail/hoge -n 5000 | grep X-UID

などとしてみると、

X-UID: 1731077
X-UID: 1731078
X-UID: 1731079
X-UID: 1731080
X-UID: 1731081
X-UID: 3356154939
X-UID: 3356154940
X-UID: 3356154941

といきなりケタ数がはね上がっていました。とりあえずhogeを編集して10ケタのX-UIDを行ごと削除します(spoolが大きすぎてemacsで開けず、慣れないviで苦労しました)。

 次にdovecotがメールボックスのヘッダ情報をキャッシュしているらしいファイルを削除します。我が家の環境では、

rm ~hoge/imap4/.imap/INBOX/.imap.index*

でイケました。で、dovecotを再起動します。するとあろうことか、またもや10ケタの数字でX-UIDが振られてしまいました。これはどこかに最後の番号を記憶してるだろうと思い、探してみたところ、spoolの頭にメールに見せかけたデータがあり、赤字の部分がX-UIDの最終番号のようでしたので、7ケタの最後の番号に1を足した1731082に書き換えたところ、上手くいきました。

From MAILER-DAEMON Fri Feb  3 04:02:46 2006
Date: 03 Feb 2006 04:02:46 +0900
From: Mail System Internal Data <MAILER-DAEMON@hoge.com>
Subject: DON’T DELETE THIS MESSAGE — FOLDER INTERNAL DATA
Message-ID: <1138906966@hoge.com>
X-IMAP: 0935368447 0000060250 NotJunk Junk JunkRecorded NonJunk $Forwarded $MDNS
ent $Label5 $Label1 $Label2 $Label3 $Label4
Status: RO
X-IMAPbase: 1138911336 1731088 Junk NonJunk $Label1 $Label2 $Label3 $Label4 $Lab
el5 $Forwarded $MDNSent

  発生原因は不明のままですが、とりあえず対処できたので、これでようやく寝られそうです。

One thought to “dovecot +mbox環境でInvalid messageseと出てメールが読めない時の覚え書き”

  1. ぐは、翌日再発。
    原因を究明するか、dovecotを0.99.14以上にあげるしかないのかなぁ。あとはmboxをやめるか。
    dovecotは1.0のRC版まで出てるので、正式リリースされればrpmも出るだろうから、いまソースからコンパイルしたくない感じ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)