C# 设置电子邮件上的删除标志,IMAP收件箱中不会发生任何事情

C# 设置电子邮件上的删除标志,IMAP收件箱中不会发生任何事情,c#,exchange-server,imap,webmail,C#,Exchange Server,Imap,Webmail,我正在通过IMAP连接到webmail(Exchange 2003) 我用一个图书馆从做这件事 我看过一封邮件后,想把它删除。我的问题是它从未从我的邮箱中删除 所以我的问题是,Exchange中是否有允许“外部”用户删除邮件的设置 foreach (MailMessage msg in msgs) { if (msg.HasAttachments) { foreach (Attachment attach in msg.A

我正在通过IMAP连接到webmail(Exchange 2003)

我用一个图书馆从做这件事

我看过一封邮件后,想把它删除。我的问题是它从未从我的邮箱中删除

所以我的问题是,Exchange中是否有允许“外部”用户删除邮件的设置

    foreach (MailMessage msg in msgs)
    {
        if (msg.HasAttachments)
        {

            foreach (Attachment attach in msg.Attachments)
            {
                // Save the attachment to the file.
                if (Path.GetExtension(attach.Filename).CompareTo(".csv") == 0)
                {
                    path = localFolder + "\\" + attach.Filename;
                    Console.WriteLine("Saved file: " + path);
                    attach.Save(@path, true);

                    paths.Add(path);

                    //deletes the message
                    imp.DeleteMessages(msg.IndexOnServer.ToString(), false);
                    Console.WriteLine("file nr:" + msg.IndexOnServer);
                }
                else
                {
                    Console.WriteLine("Found a different file: " + attach.Filename);
                }
            }

        }
    }

    DbHandler.Add(paths, backupMonths * -1);                

    return true;
}
catch (Exception e)
{
    Console.Out.WriteLine(e);
    return false;
}
这是MailBee库连接的日志

[22:02:18.41] [RECV] Received: from BL2PRD0103MB072.prod.exchangelabs.com ([169.254.7 ... 004_7708CE53FE258F4B9804719502D521C4076B23BL2PRD0103MB072pr_--\r\n [Literal of length 173705.]
[22:02:18.41] [RECV]  FLAGS (\Seen \Deleted))\r\n [Total 173784 bytes received.]
[22:02:18.80] [RECV] * 7 FETCH (UID 8 RFC822.SIZE 126633 BODY[] {173862}\r\n
[22:02:18.80] [RECV] Received: from BL2PRD0103MB072.prod.exchangelabs.com ([169.254.7 ... 004_7708CE53FE258F4B9804719502D521C4076B11BL2PRD0103MB072pr_--\r\n [Literal of length 173862.]
[22:02:18.81] [RECV]  FLAGS (\Seen \Deleted))\r\n [Total 173941 bytes received.]
[22:02:18.81] [RECV] MBN00000004 OK FETCH completed.\r\n [Total 33 bytes received.]
[22:02:18.81] [INFO] Envelopes downloaded
[22:02:18.92] [INFO] Setting flags for messages.
[22:02:18.92] [SEND] MBN00000005 STORE 5 +FLAGS.SILENT (\Deleted)\r\n
[22:02:19.07] [RECV] MBN00000005 OK STORE completed.\r\n [Total 33 bytes received.]
[22:02:19.09] [INFO] Setting flags for messages.
[22:02:19.09] [SEND] MBN00000006 STORE 6 +FLAGS.SILENT (\Deleted)\r\n
[22:02:19.24] [RECV] MBN00000006 OK STORE completed.\r\n [Total 33 bytes received.]
[22:02:19.25] [INFO] Setting flags for messages.
[22:02:19.25] [SEND] MBN00000007 STORE 7 +FLAGS.SILENT (\Deleted)\r\n
[22:02:19.40] [RECV] MBN00000007 OK STORE completed.\r\n [Total 33 bytes received.]
[22:02:35.67] [SEND] MBN00000008 LOGOUT\r\n
[22:02:35.82] [RECV] * BYE Microsoft Exchange Server 2010 IMAP4 server signing off.\r\n [Total 64 bytes received.]
[22:02:35.82] [RECV] MBN00000008 OK LOGOUT completed.\r\n [Total 34 bytes received.]


我认为这应该设置和删除消息。任何人都有什么问题吗?

根据您需要在调用
imp.Disconnect()
之前调用
imp.Close()
-否则消息不会被清除。

根据您需要在调用
imp.Disconnect()之前调用
imp.Close()
-否则消息将不会被清除。

什么是imp对象,为什么要删除循环中用于附件的消息?我认为你应该删除内部foreach之外的消息…代码不是我的,我只是来修复它的。但是如果我接受了,我想我认为这是因为他/她只想删除带有附件的邮件。什么是imp对象,为什么要删除附件循环中的邮件?我认为你应该删除内部foreach之外的消息…代码不是我的,我只是来修复它的。但如果我接受了,我想我认为这是因为他/她只想删除带有附件的邮件。我不敢相信我错过了,但我想这是当你试图修复遗留代码=)时得到的结果。谢谢我不敢相信我错过了这一点,但我想这就是当您尝试修复遗留代码=)时得到的结果。谢谢