我正在开发一个独立的 c# 桌面应用程序,它发送文档,然后在发回时从 Outlook 导入它们。该应用程序从指定的文件夹中提取电子邮件并对其进行处理,然后将发件人姓名以及其他内容保存到数据库中。
这适用于具有 SenderEmailAddress 属性的 Outlook 2003 和 2007。但是 Outlook 2000 和 XP 没有此属性,并且不会始终返回 name@domain.com。我正在为这些版本提供支持。
我发现一个名为 Outlook Redemption 的库可以解决这个问题,但我正在使用 .net 进行开发,并且真的希望避免写入客户注册表。我还发现 MAPI33 是一个围绕 MAPI 的 .Net 包装器,但论坛尚不清楚它是否仍受支持。
希望有任何关于 Redemption dll 的 .Net 替代方案或能够在 Outlook 版本中一致地检索电子邮件地址的方法的任何指针。
非常感谢
AbsFabs
结语: 我最终使用了这篇文章http://support.microsoft.com/kb/324530中的解决方案。它包括创建一个回复,然后将回复提取到创建的邮件项的地址。它适用于通过 Internet 发送的电子邮件,目前正在通过 Exchange Server 测试。
在我的旅行中也发现了这个http://anoriginalidea.wordpress.com/2008/01/11/getting-the-smtp-email-address-of-an-exchange-sender-of-a-mailitem-from-outlook-在-vbnet-vsto/它似乎涉及到触摸。如果我现有的实现无法通过测试,这可能包括我的 B 计划。
感谢您的反馈意见
AbsFabs
我最终结束了使用 Redemption。出色的工作工具。我的问题是在安装我的应用程序时必须注册 dll。由于我的应用程序是用 dotnet 编写的,因此不需要注册任何内容。我能够使用无注册表 COM 解决 dll 注册问题。
非常感谢您的启发。