Перемещение непрочитанных писем в другую папку в папке Входящие Outlook с помощью c#
Привет,
Я использую приведенный ниже код для перемещения всех непрочитанных писем в другую папку из папки "Входящие" в outlook.
Но этот код не работал должным образом, например, если 4 письма находятся в непрочитанном состоянии, он перемещает только 2 письма в эту папку, поэтому он был неудачным для оставшихся 2 писем .
Можете ли вы, пожалуйста, руководство, чтобы решить эту проблему.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Outlook; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass(); Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI"); Microsoft.Office.Interop.Outlook.MAPIFolder myInbox = mapiNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); // Microsoft.Office.Interop.Outlook.MailItem newEmail = null; Microsoft.Office.Interop.Outlook.MailItem movemail = null; Microsoft.Office.Interop.Outlook.Items items = (Microsoft.Office.Interop.Outlook.Items)myInbox.Items; Microsoft.Office.Interop.Outlook.MAPIFolder destFolder = myInbox.Folders["Arch"]; items.Restrict("[UnRead] = true"); // Microsoft.Office.Interop.Outlook.MAPIFolder destFolder1 = mapiNameSpace.Folders["CQ Web"]; foreach (object eMail in items.Restrict("[UnRead] = true")) { movemail = eMail as Microsoft.Office.Interop.Outlook.MailItem; if (movemail != null) { movemail.Move(destFolder); } } } } }