C#设置Outlook默认签名

时间:2013-11-20 10:49:28

标签: c# outlook cryptography signature

我有一个应用程序,它创建一个消息签名并将其部署到Outlook。如何将其设置为新/回复转发消息的默认值? 我找到了一些解决方案如下:

  • 使用Microsoft.Office.Word.Interop对象:  wordObj.EmailOptions.EmailSignature.NewMessageSignature

但它也初始化了一个Outlook对象,所以我不想要它。

  • 按照here
  • 所述在注册表中设置值

但在某些机器上,我无法找到此注册表项。

是否有人为此问题找到了稳定的解决方案?任何帮助都会受到如此多的赞赏。

2 个答案:

答案 0 :(得分:0)

你在正确的大道上。

  

但是在某些机器上,我找不到这把钥匙。

那是因为您没有在Outlook中配置任何配置文件。或Outlook中未设置签名。在这种情况下,您需要添加所需的Windows注册表项 - 一个名为“New Signature”或“Reply-Forward Signature”的REG_Binary。

答案 1 :(得分:0)

签名的名称存储在可通过IOlkAccountManager扩展MAPI界面访问的帐户配置文件数据中。由于该接口是扩展MAPI,因此只能使用C ++或Delphi进行访问。如果单击IOlkAccountManager按钮,则可以在OutlookSpy中查看界面及其数据。

Outlook对象模型不会公开签名或访问帐户的任意属性。

如果使用Redemption是一个选项,则可以使用其RDOAccount对象(可以使用任何语言访问,包括C#)。新的消息签名名称存储在0x0016001F属性中,回复签名在0x0017001F中。 您还可以使用RDOAccountReplySignatureNewSignature属性。