Я пытаюсь использовать C# для поиска в моем почтовом ящике Outlook (и всех подпапках) для MailItem, тема которого соответствует моему регулярному выражению.C# Поиск всех папок Outlook для MailItem по темам
В настоящее время у меня есть это:
//InboxItems property
public IEnumerable<MailItem> InboxItems
{
get
{
Microsoft.Office.Interop.Outlook.MAPIFolder folder =
outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderInbox);
return folder.Items.OfType<MailItem>();
}
}
//inside method:
string ticketid = "6543165";
Regex rgx = new Regex(@"^((FWD|RE): ?)*Ticket Diary ?[:-] ([0-9]+)*\b" + ticketid,
RegexOptions.IgnoreCase | RegexOptions.Compiled);
var email = InboxItems.OrderBy(m => m.CreationTime)
.FirstOrDefault(m => m.CreationTime >= createdAfter && rgx.IsMatch(m.Subject));
Это прекрасно работает, только если адрес электронной почты находится в моей папке Входящие. Тем не менее, я хочу подражать Текущий почтовый ящик функция поиска Outlook, а не Текущая папка.
Я пробовал создать List<MailItem>
всех MailItems моей подпапки, но это занимает слишком много времени, чтобы выполнить.
Есть ли эффективный способ запроса подкаталогов Inbox &?
спасибо Дмитрию. Я нашел [Redemption] (http://www.dimastr.com/redemption/) после публикации этого сообщения. Я буду использовать RDO, поскольку он также решит проблему исправления безопасности, с которой я столкнулся! – Zachafer