1

我正在编写一个应用程序,该应用程序根据每个 Microsoft Outlook 帐户的预获取数据设置签名(用户可能有多个 Outlook 帐户用于各种目的)。

我可以为默认帐户设置签名,但我还没有找到如何为每个 Outlook 帐户单独设置签名。我做了很多自己的研究,并在 Microsoft.Office.Interop 对象周围闲逛,但运气不佳。

有没有办法做到这一点?

4

1 回答 1

2

要以编程方式选择 Outlook 配置文件,您只需使用

Microsoft.Office.Interop.Outlook.Application App =
    new Microsoft.Office.Interop.Outlook.Application();
NameSpace mapi = App.GetNamespace("MAPI");
mapi.Logon(profileName);

显然,profileName在启动 Outlook 时将其设置为下拉列表中显示的内容(如果您未在控制面板电子邮件设置中设置默认配置文件)。

然而,这在许多方面都是有问题的,因为 Outlook 不支持多个会话,即使 MAPI 登录支持:http: //msdn.microsoft.com/en-us/library/bb219914 (v=office.12).aspx

含义:如果 Outlook 已经在运行,您甚至可以设置NewSessiontrue,但这无济于事。无论您设置什么名称,它都会为您提供当前登录的配置文件。如果你有一个 Outlook 僵尸(我在测试时得到了这个,请检查任务管理器),即没有显示 UI 的 Outlook,问题是一样的。

如果您可以确保 Outlook 在处理签名时不会运行,那么您应该没问题。

于 2012-04-20T13:10:44.903 回答