1

私はこれを見つけました:

client.Inbox.AddFlags (new int[] { index }, MessageFlags.Deleted);
or
client.Inbox.AddFlags (new UniqueId[] { uid }, MessageFlags.Deleted);

then
client.Inbox.Expunge ();

ここで使用するインデックスまたは uid を取得する方法がわかりません。私のクライアントは次のように動作します:

using (var client = new ImapClient())
{
                client.Connect(serverM.Text, Convert.ToInt32(portM.Text), true);
                client.AuthenticationMechanisms.Remove("XOAUTH");
                client.Authenticate(user.Text, pass.Text);
                var inbox =  client.GetFolder(inbox.Text);
                inbox.Open(FolderAccess.ReadWrite);
                var message = inbox.GetMessage(i);
                for (int i = 0; i < inbox.Count; i++) // 
                {
                    var message = inbox.GetMessage(i);
                    ...
                }
}

また、int I はインデックスではありません。message.MessageID が UID と等しくありません。私の間違いはどこですか?

4

1 に答える 1

6

ここでインデックスを使用しています:

for (int i = 0; i < inbox.Count; i++) // 
{
    var message = inbox.GetMessage(i);
    ...
}

iインデックスです。

MailKit の最近のバージョンでは、次の機能を追加しました。

inbox.AddFlags (i, MessageFlags.Deleted);

したがって、これを行う必要はありません。

inbox.AddFlags (new int[] { i }, MessageFlags.Deleted);
于 2014-07-14T10:30:19.767 に答える