我對Outlook編程非常陌生。C#:在特定的Outlook郵箱中環回未讀郵件
我有一個郵箱讓我們說我的Outlook中的「ImportantMail」。
我正在開發一個Windows窗體應用程序,它應該找到該郵箱中的所有未讀郵件,並通過它們訪問主題,發件人&內容。
有沒有一些簡單的方法來實現這一點?
我試過以下多個教程,我發現,但它是像我這樣的新鮮太混亂了......事先
謝謝!
我對Outlook編程非常陌生。C#:在特定的Outlook郵箱中環回未讀郵件
我有一個郵箱讓我們說我的Outlook中的「ImportantMail」。
我正在開發一個Windows窗體應用程序,它應該找到該郵箱中的所有未讀郵件,並通過它們訪問主題,發件人&內容。
有沒有一些簡單的方法來實現這一點?
我試過以下多個教程,我發現,但它是像我這樣的新鮮太混亂了......事先
謝謝!
我在我的案例中倒退了,因爲我正在移動郵件項目,所以爲了使這項工作你需要反向進行,然而..這真的不是一個困難的事情 - 解決會議要求等。 。
for (int t = objFolder.Items.Count; t >= 1; t--)
{
try
{
if (!(objFolder.Items[t] is MailItem)) continue;
MailItem m = objFolder.Items[t];
if (m.Unread) { do_stuff(); }
}
catch { }
}
如果ImportantMail郵箱已經在當前的配置文件,檢索來自Application.Session.Stores
集合存儲和調用Store.GetDefaultFolder(olFolderInbox)
。如果它是尚未在當前配置文件中的Exchange委託商店,請致電Application.Session.CreateRecipient
,然後Application.Session.GetSharedDefaultFolder(..., olFolderInbox)
。
讀取MAPIFolder.Items屬性,然後使用Items.Find/FindNext或Items.Restrict,查詢如[Unread] = true
。
永遠不要遍歷文件夾中的所有項目,這是非常低效的。使用Items.Find/FindNext或Items.Restrict –
使用多點符號(objFolder.Items.Count和objFolder.Items [t]等效於objFolder.Items.Item(t)))是另一個問題。 –
就我而言,我實際上必須閱讀所有郵件然後移動它們,所以這對我正在做的事情是有效的。因此它在我的答案。我沒有聲稱這是最高效的,只是做 – BugFinder