Сегодня у меня есть код ниже для фильтрации почты по теме в общем почтовом ящике. Информация из элементов вставляется в таблицу данных.
Код работает нормально, но мне нужно также включить подпапки. Я пытался решить, но полностью застрял.
Вся помощь приветствуется.
try
{
DataTable dtForExport = new DataTable();
dtForExport.Clear();
dtForExport.Columns.Add("Typ");
dtForExport.Columns.Add("Inkom");
dtForExport.Columns.Add("Orsak");
Outlook.Application outlookapp = new Outlook.Application();
Outlook.NameSpace ns = outlookapp.GetNamespace("MAPI");
// additional email address
string recipientName = "Foo@bar.com";
Outlook.Recipient recip = ns.CreateRecipient(recipientName);
recip.Resolve();
Outlook.MAPIFolder inbox = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderInbox);
Outlook.Items items = inbox.Items;
Outlook.MailItem mailItem = null;
object folderItem;
string subjectName = string.Empty;
string filter = "[Subject] = 'Sjukanmälan' OR [Subject] = 'Friskanmälan'";
folderItem = items.Find(filter);
string pattern = ".*Orsak.*";
Regex r = new Regex(pattern);
while (folderItem != null)
{
mailItem = folderItem as Outlook.MailItem;
MessageBox.Show(folderItem.ToString());
if (mailItem != null)
{
var SickType = "";
foreach (Match m in r.Matches(mailItem.Body))
{
SickType = m.Value.Replace("Orsak: ", "");
}
dtForExport.Rows.Add(mailItem.Subject, mailItem.ReceivedTime, SickType);
}
folderItem = items.FindNext();
}