我创建了以下内容......
Outlook.MailItem oMail;
oMail = Inspector.CurrentItem;
Outlook.NameSpace session = oMail.Session;
Outlook.Accounts accounts = session.Accounts;
循环浏览帐户时,我会获得已在Outlook中实际添加的帐户,但不会通过帐户设置 - >中的“打开这些添加邮箱”添加的帐户改变 - >更多设置 - >高级
如何访问这些内容并从中获取帐户信息,以便我可以在oMail.SendUsingAccount = account
答案 0 :(得分:2)
在Outlook 2007+中,以下代码将为您提供给定用户有权访问的委托Exchange邮箱(“打开这些其他邮箱”列表)。关键因素是会话数据Stores
和ExchangeStoreType
。
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)。