同步单个IMAP文件夹

时间:2012-06-20 11:06:36

标签: c# interop outlook

我正在尝试编写一个应用程序,该应用程序向用户显示来自共享IMAP文件夹树中所选文件夹的邮件头列表。该应用程序的用户使用Outlook 2007或2010,并将共享IMAP文件夹树映射到其帐户。

我能够访问文件夹并使用Outlook Interop迭代邮件项目,如下所示:

Outlook.Application outlook = new Outlook.Application();
Outlook._NameSpace ns = outlook.GetNamespace("MAPI");
Outlook.Folder folder = MyFolderFinder(...);

foreach (var item in folder.Items)
{
    if (item is Outlook.MailItem)
    {
        Outlook.MailItem mailItem = item as Outlook.MailItem;
        // do something with mailItem
    }

}

不幸的是,此方法似乎没有同步文件夹,因此除非用户使用Outlook手动“更新文件夹”,否则他们可能会看到陈旧的列表。

有没有办法使用Outlook Interop以编程方式同步单个IMAP文件夹?

1 个答案:

答案 0 :(得分:0)

使用新的邮件接收活动,我认为你可以这样做。

private void ThisApplication_Startup(object sender, System.EventArgs e)
{
    this.NewMail += new Microsoft.Office.Interop.
        Outlook.ApplicationEvents_11_NewMailEventHandler(
        ThisApplication_NewMail);
}

void ThisApplication_NewMail()
{
}

参考: http://msdn.microsoft.com/en-us/library/ms268998(v=vs.80).aspx