MailKit删除邮件Xamarin c#

本文关键字:Xamarin 删除 MailKit | 更新日期: 2023-09-27 18:13:41

我在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);
        }
    }
}

MailKit删除邮件Xamarin c#

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

对于POP3,您可以这样删除消息:

client.DeleteMessage (lastcount, cancel.Token);

(注意:除非你真的允许用户取消操作,否则你不需要使用cancel.Token)

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