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

本文关键字:关联 2010 获取 Outlook | 更新日期: 2023-09-27 18:37:05

我正在创建一个可以将所选电子邮件保存到外部数据库的 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对象的相关帐户?

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

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

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