4

オープン ソース アプリの一部である IMAP クローラーを作成しています。インクリメンタル クロールでは、メッセージ UID を使用して、特定のメッセージを既に見たかどうかを確認したいと考えています。

2007 年の記事で、IMAP UID は常に信頼できるとは限らないという記事を見つけました。より具体的には、フラグ UIDNOTSTICKY が設定されている場合、UID が常に同じであると想定することはできません。だから私の質問は、UIDNOTSTICKY=true のケースを真剣に受け止める必要がありますか、それともスティッキーでない UID を持つ IMAP サーバーはレガシーなものであり、(広く) 使用されていないのでしょうか?

4

1 に答える 1

8

SELECTまたはEXAMINE中にUIDNOTSTICKY応答コードが返された場合は、メールボックスをSELECTまたはEXAMINEするたびに、メールボックスのUIDVALIDITY値(フォルダーのIMAP用語)が変更されることもわかります。ただし、メールボックスのUIDVALIDITYは不変であることが保証されていないため、UIDVALIDITYの変更を確認する必要があります。このような変更を行うと、キャッシュされたUIDが無効になります。はい、UIDVALIDITY値は通常変更されません。ただし、コードはそのケースに対処する必要があります。そうすることで、UIDNOTSTICKYのケースもカバーできるようになります。

于 2010-12-30T03:24:44.773 に答える