在Outlook 2007或更高版本中控制加密和数字签名按钮

Bog*_*dan 5 .net vba outlook-2007

我正在使用VBA中的一个小脚本,它允许我自动转发消息,包括加密消息.

我唯一的问题是以编程方式删除加密.

我以为我可以这样做:

  • 打开邮件
  • 取消选择加密和签名选项
  • 转发信息

使用这种方法,我不知道如何获得加密和签名按钮的引用.

这是适用于标准非加密邮件的代码.我将此方法设置为所有传入邮件的"电子邮件规则":

Sub test_macro(MyMail As MailItem)
    MyMail.Display
    'Need some API here to access the decrypt button    


    MyMail.Recipients.Add "otheraddress@company.com"
    MyMail.Recipients.Add "otheraddress2@company.com"
    Item_Send (MyMail)


End Sub
Run Code Online (Sandbox Code Playgroud)

背景

这里需要将部门地址的所有传入消息转发给某些人.转发它们加密会导致各种版本的Outlook(2003/2007/2010/etc)之间出现各种证书问题,因为它们都需要拥有部门地址的私钥,这似乎与他们的个人帐户证书冲突(我得到所有一种不稳定的行为,有时它有效,有时不行.

替代方法

  • 我意识到,由于安全限制,目前的方法可能不会起作用,所以我正在研究替代方案.也许如果我为Outlook创建一个插件,是否会让我访问一些安全API来解密传入的消息?

  • 创建POP客户端,获取,手动解密消息并转发它.这可能是最难的方法,因为默认情况下Outlook支持很多加密格式/算法.

还有其他想法吗?谢谢!

Bog*_*dan 0

我最终使用优秀的Mail.dll库创建了一个 IMAP 电子邮件客户端。我强烈推荐这个用于电子邮件内容 - 很棒的文档,很棒的支持!