Outlook 2010 - C# - 获取与邮件关联的帐户

时间:2012-06-13 10:56:47

标签: c# outlook add-in account

我正在创建一个Outlook加载项,可以将选定的电子邮件保存到外部数据库。

使用Office.IRibbonControl我可以获取所选电子邮件的列表,但我需要知道这些邮件与哪个帐户相关联。

我的意思是,如果Outlook从toto@exemple.comotot@exemple.com收到邮件,当我想要保存邮件时,我需要知道该信息。

我不能使用发送者/接收者之类的信息,因为它可能是收入电子邮件的结果。

目前,我唯一发现的是使用当前文件夹路径..

public void SayHello(Office.IRibbonControl control)
{
    MessageBox.Show(
        "Folder: " + (control.Context as Outlook.Explorer).CurrentFolder.FolderPath,
        "Test",
        MessageBoxButtons.OK,
        MessageBoxIcon.Information);
}

但这种方法还不够好。如果我打开一条消息(在一个单独的窗口中)然后我更改当前文件夹,它就会失败。

此外,Outlook.Explorer.CurrentAccount无法正常工作。

所以这是我的问题: 如何访问具有Outlook.MailItem对象的相关帐户?

1 个答案:

答案 0 :(得分:3)

您可以获取MailItem.Parent的父文件夹(Outlook.MailItem)来确定其文件夹路径(Folder.FolderPath)。

Outlook.Folder parent = MailItem.Parent as Outlook.Folder;
string itemPath = parent.FolderPath;