MailSystem.NETを使用していて、サーバーからメッセージを削除しようとしています。問題は、IndexOnServer プロパティが 0 で、次のエラーが発生することです。
Command "store 0 +flags.silent (\Deleted)" failed : 121031084812790 BAD Error in IMAP command STORE: Invalid messageset
これが私のコードです:
Imap4Client client = new Imap4Client();
client.Connect(account.Server, account.Username, account.Password);
var inbox = client.SelectMailbox("Inbox");
MessageCollection messages = inbox.SearchParse("SINCE " + DateTime.Now.AddHours(-hours).ToString("dd-MMM-yyyy"));
foreach (Message newMessage in messages)
{
inbox.DeleteMessage(newMessage.IndexOnServer, true);
}
メッセージを削除できるように、メッセージの正しいインデックスを取得するにはどうすればよいですか?
編集:
標準の 1 ベースのループを使用した提案の問題は、カウンター インデックスがメッセージ インデックスと同期しないことです。これは、私の場合、メッセージの特定のサブセットのみを取得するために検索しているためです (私が理解しているように)。 .
ありがとうございました。