从非默认帐户发送邮件,该帐户不在会话帐户中

时间:2012-02-10 07:53:20

标签: email outlook vsto

我创建了以下内容......

Outlook.MailItem oMail;
oMail = Inspector.CurrentItem;
Outlook.NameSpace session = oMail.Session;
Outlook.Accounts accounts = session.Accounts;

循环浏览帐户时,我会获得已在Outlook中实际添加的帐户,但不会通过帐户设置 - >中的“打开这些添加邮箱”添加的帐户改变 - >更多设置 - >高级

如何访问这些内容并从中获取帐户信息,以便我可以在oMail.SendUsingAccount = account

中使用它

1 个答案:

答案 0 :(得分:2)

在Outlook 2007+中,以下代码将为您提供给定用户有权访问的委托Exchange邮箱(“打开这些其他邮箱”列表)。关键因素是会话数据StoresExchangeStoreType

foreach (var store in Globals.ThisAddIn.Application.Session.Stores.Cast<Outlook.Store>().Where(c=>c.ExchangeStoreType == Outlook.OlExchangeStoreType.olExchangeMailbox)) 
            Trace.WriteLine(store.DisplayName);

要代表另一个邮箱发送邮件,您应该使用该属性MailItem.SendOnBehalfName - 因为您在技术上只有一个帐户(see this Outlook forums post)。