私は電子メールクライアントアプリに取り組んでおり、GMAIL IMAP condstore 機能を使用してラベル、既読、および未読の変更を同期しています。
私のアプリケーションフローは以下のようになります。
1) 最初に「Gmail/All Mail」を選択
2) FETCH 1:* (X-GM-LABELS) (CHANGEDSINCE maximummodseq) のような最後の modseq との最後の同期以降のサーバーからの変更の取得
ここで、IMAP サーバーは、最後の同期以降に検出されたラベル、既読、および未読の変更のメッセージを返します。
ラベル「A」があり、100通のメールがあるとします。ラベル A が削除された場合、サーバーは変更として 100 件のメッセージを返しますが、期待どおりに機能します。
ただし、ラベル「A」の名前がラベル「B」に変更された場合、サーバーは変更として 100 件のメッセージを返す必要がありますが、返されません。
以前にラベル A にあり、ラベル B に名前が変更されたメッセージを同期する方法を教えてください。
PS: IMAP サーバー標準によると、ラベルの一意性は、ラベル名と uid の有効性に基づいて識別されます。
Gmail のラベルは「LIST "" "*"」で取得しています。
ラベルの名前が別のものに変更された場合、それが新しく作成されたラベルなのか、名前が変更されたラベルなのかを調べる方法を考えてみましょう
ありがとうサブビレディ