恥ずかしながら、私はずっと誤解してました。
IMAPでは、"\Seen"(読んだ)、"\Answered"(返信した)等、メッセージの状態を表すフラグがあります。"\"で始まるフラグは、System flagと呼ばれ、IMAPプロトコルで標準的にサポートされるフラグです。System flagは以下の6個あります。
フラグ名 | 意味 |
---|---|
\Seen | 読んだ |
\Answered | 返信した |
\Flagged | フラグ(マーク) |
\Deleted | 削除した |
\Draft | 下書き |
\Recent | 最近届いた |
本題の"\Recent"ですが、かなり特殊なフラグです。RFC3501によると
Message is "recently" arrived in this mailbox.
(メッセージは"最近"このメールボックスに到着した。)
という意味になります。直感的に考えると新着のメールを意味するように思えますが、そうではありません。
新着のメールも"\Recent"フラグは付加されますが、例えば、メールボックスAからメールボックスBにメッセージをコピーしてメールボックスBに追加されたメッセージにも"\Recent"フラグは付加されます。実際、dovecot等のIMAPサーバーではコピーによってrecentフラグが付加されることが確認出来ます。
なので、"\Recent"フラグ付きのメールの有無だけで新着メールをチェックしているMUAは、新着メールの着信検知に失敗することがあります。IMAPでは新着メールの検出は厳密にはできないと思います。
正直、誰得な仕様な気もします。