Imapsyncを使用して移動した5GBのメールボックスがあります。しかし、どういうわけか私は--delete/-delete2オプションを台無しにして、\ Deletedフラグが設定されたほとんどすべてのメッセージになってしまいました。 delayed expunge が有効になっていないため、 nexpunge ユーティリティを使用できません。 cyrus-imapdv2.3.7を使用しています。 cyrus-imapdのデバッグ機能を使用して、IMAPコマンドの後に電子メールクライアント(私の場合はRoundcube)が起動して設定が解除されることがわかりました。
UID STORE 179 -FLAGS.SILENT (\Deleted)
どういうわけか、すべてのメールに対してこのコマンドを実行できるかどうかはわかりません。
メールボックス内のすべてのメールの\ Deletedフラグを解除する方法はありますか?
[〜#〜]更新[〜#〜]:
上記のコマンドでメッセージIDの範囲を指定する@geekosaurのヒントを使用して、INBOX.folder1のようなINBOXの下の1つのメールボックスに対してそれを解決できます。 INBOXの下の複数のメールボックスに対して再帰的にそれを行う方法はありますか?現在、PerlのIMAP関連モジュールを使用して、スクリプトを使用/作成して問題を解決する作業を行っています。しかし、それでも私はそれをできるだけ早く解決する必要があるので、入力は大歓迎です。
[〜#〜]更新[〜#〜]:
Geekosaurのおかげで、PerlのIMAPClientモジュールを使用して問題を解決することに成功しました。
メッセージの範囲を指定できますstart:end
単一のメッセージ番号の代わりに(179
あなたの例では);使用する SEARCH ALL
有効なメッセージ番号の範囲を確認します。
これは、生のIMAPを使用できることを前提としていることに注意してください。これは、AUTHENTICATE
の代わりにLOGIN
を使用する場合、(本来あるべきことですが)苦痛から不可能になる可能性があります。ある種のツールキット(Cyrus imapd
には、スクリプトログインとさまざまな操作の実行に使用できるPerlライブラリが付属していますが、RFC2060にある程度精通している必要があります。