【问题标题】:MailKit delete Emails Xamarin C#MailKit 删除电子邮件 Xamarin C#
【发布时间】:2014-09-09 13:10:10
【问题描述】:

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

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

来自这篇文章:MailKit Delete single message from 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);
        }
    }
}

【问题讨论】:

    标签: c# email xamarin.ios xamarin mailkit


    【解决方案1】:

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

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

    client.DeleteMessage (lastcount, cancel.Token);
    

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

    删除您粘贴的邮件的另一种方式是用于 IMAP。

    【讨论】:

    • 感谢您的回复。我尝试了您的代码,但没有任何结果。消息不会被删除。当我再次与服务器连接时,消息再次显示。
    • 您是否与 client.Disconnect 断开连接 (true)?如果没有,POP3 服务器实际上不会删除它们。
    • 你太棒了!是的,现在它对我有用。如果我使用 imap,您还可以帮我如何删除消息吗?
    • 您链接到的另一篇文章解释了如何使用 IMAP 删除邮件:stackoverflow.com/questions/23677464/…
    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 2014-08-01
    • 2015-06-07
    • 2018-03-02
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多