C# 设置电子邮件上的删除标志,IMAP收件箱中不会发生任何事情
我正在通过IMAP连接到webmail(Exchange 2003) 我用一个图书馆从做这件事 我看过一封邮件后,想把它删除。我的问题是它从未从我的邮箱中删除 所以我的问题是,Exchange中是否有允许“外部”用户删除邮件的设置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
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之外的消息…代码不是我的,我只是来修复它的。但如果我接受了,我想我认为这是因为他/她只想删除带有附件的邮件。我不敢相信我错过了,但我想这是当你试图修复遗留代码=)时得到的结果。谢谢我不敢相信我错过了这一点,但我想这就是当您尝试修复遗留代码=)时得到的结果。谢谢