为多个帐户设置 Outlook 签名

本文关键字:设置 Outlook 签名 | 更新日期: 2023-09-27 18:31:42

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

我可以为默认帐户设置签名,但我还没有找到如何为每个Outlook帐户单独设置签名。我自己做了很多研究,并在Microsoft.Office.Interop对象中四处寻找,但没有太多运气。

有没有办法实现这一目标?

为多个帐户设置 Outlook 签名

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

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

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

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

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

如果您可以确保Outlook在执行带有签名的操作时不会运行,那么您应该没问题。