我尝试使用VSTO在Outlook 2013/2016中获取有关帐户的SMTP详细信息,但完全没有成功。
我的代码创建了一个S / MIME邮件"即时"而且,由于我不能简单地替换原始邮件正文,我的方法是通过我自己的代码发送S / MIME创建的消息并删除之后的原始邮件。
我成功获取了我需要的所有数据:FROM,TO,邮件正文和SMTP发件人的地址(例如" mike@gmail.com"),但不是其详细信息,如SMTP-服务器,端口,类型(MAPI,LDAP,IMAP等)。
有没有人知道如何使用VSTO从Outlook 2013/2016获取它?
我很感激任何提示。
答案 0 :(得分:0)
您可以使用扩展MAPI(仅限C ++或Delphi)读取POP3 / SMTP或IMAP4 / SMTP帐户属性。您可以在OutlookSpy中查看帐户详细信息 - 单击IOlkAccountManager按钮,双击相关帐户。不幸的是,OOM不公开从其Account对象中读取任意属性。它确实从Account.IOlkAccount
属性公开了IOlkAccount接口,但它只能在C ++或Delphi中使用。
密码已加密并存储在注册表中。
对于C ++或Delphi以外的语言,并且如果使用Redemption是一个选项,您可以使用其RDOPOP3Account和RDOIMAPAccount对象 - 它们会公开所有帐户属性(包括密码)。
请注意,所有这些仅适用于POP3和IMAP4帐户。如果是Exchange,Outlook不使用任何SMTP功能,因此SMTP连接属性不会存储在任何位置。 Autodiscoveer也不公开SMTP服务器名称。