为多个帐户设置Outlook签名

时间:2012-04-20 12:48:06

标签: c# outlook

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

我可以为默认帐户设置签名,但我还没有找到如何为每个Outlook帐户单独设置签名。我做了很多自己的研究,并且在没有太多运气的情况下围绕着Microsoft.Office.Interop对象。

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

1 个答案:

答案 0 :(得分: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已经运行,您甚至可以将NewSession设置为true,但它不会有帮助。无论您设置了什么名称,它都会为您提供当前登录的配置文件。如果你有一个Outlook僵尸(我在测试时得到了它,请检查任务管理器),即没有显示UI的Outlook,问题是一样的。

如果您可以确保Outlook在使用签名进行操作时不会运行,那么您应该没问题。