-1

我在 monotouch xamarin 上使用 mailkit。我正在创建一个将接收电子邮件的应用程序(电子邮件客户端)。我让用户选择是否使用 Pop3 或 IMAP 连接协议。我的问题是我找不到关于他如何删除 Pop3 和 IMAP 上的消息的解决方案。我曾尝试使用此代码:

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

来自这篇文章:MailKit 从 gmail 中删除单个消息, 但似乎对我不起作用。我用于捕获 Pop3 帐户电子邮件的代码是

using (var client = new Pop3Client ()) {

    var credentials = new NetworkCredential (Convert.ToString (username), Convert.ToString (password));

    var uri = new Uri (Convert.ToString ("pops://"+pop3));

    using (var cancel = new CancellationTokenSource ()) {
        client.Connect (uri, cancel.Token);

        var _emailItems=new List<EmailItem>() ;

        client.Authenticate (credentials, cancel.Token);
        string[] mycell = new string[200];
        int count = client.GetMessageCount (cancel.Token);
        int lastcount;
        for (int i = 0; i < count; i++) {
            lastcount = (count - 1) - i;
            var message = client.GetMessage (lastcount, cancel.Token);
        }
    }
}
4

1 回答 1

3

不同的协议有不同的删除消息的方式。

对于 POP3,这是删除邮件的方式:

client.DeleteMessage (lastcount, cancel.Token);

(注意:除非您实际上允许用户取消操作,否则您不需要使用cancel.Token

删除您粘贴的消息的另一种方法是用于 IMAP。

于 2014-07-19T10:16:53.367 回答