C# 使用MAPI从Exchange server检索邮件

C# 使用MAPI从Exchange server检索邮件,c#,mapi,C#,Mapi,我正在为Exchange Server邮件归档程序做背景工作。我打算用C#来做。有人能告诉我怎么开始吗。我能否获得一个示例应用程序,该应用程序演示了如何使用MAPI从exchange server读取邮件。 由于MAPI是一个Cpp dll,我可以为它获取一个C#包装器吗。不支持从托管代码使用MAPI,应该避免使用。如果您是从零开始,我会看看EWS(Exchange Web服务)并设计您的产品以支持Exchange 2007和Exchange 2010。您真的不想使用MAPI C包装器。这在测试

我正在为Exchange Server邮件归档程序做背景工作。我打算用C#来做。有人能告诉我怎么开始吗。我能否获得一个示例应用程序,该应用程序演示了如何使用MAPI从exchange server读取邮件。
由于MAPI是一个Cpp dll,我可以为它获取一个C#包装器吗。

不支持从托管代码使用MAPI,应该避免使用。如果您是从零开始,我会看看EWS(Exchange Web服务)并设计您的产品以支持Exchange 2007和Exchange 2010。

您真的不想使用MAPI C包装器。这在测试中是可以的,但由于.NET和MAPI dll偶尔会管理自己的内存(读取300个用户,每小时多次),它们会覆盖彼此的内存池

最后,我们编写了一个VB6应用程序,其中包含了一个文件参数和我们想要发送的内容,然后用c#编写了一个文件,并调用了VB6应用程序。这是因为它们是独立的进程,因此不会覆盖彼此的内存池


我给你的建议是不要走mapi路线(除非你喜欢痛苦),如果可能的话,使用EWS(由于公司不想升级,我们不能这样做)。

如果你真的需要走扩展mapi路线(就像我以前的工作一样)我首先建议你在普通C++中做它,并为你所需要的东西做你自己的包装。您不希望在托管代码中直接与MAPI接口

我还建议你阅读 他基本上是微软的MAPI大师


祝你好运,如果你去了

,使用C++包装几乎是不可能的,但是在C++.NET中编写包装是非常可行的。我们在C++.NET中编写了自己的MAPI包装器,并用C++语言编写。它工作得很好


Thomas,ComArchive

我意识到你发布这篇文章已经有几个月了,但为了子孙后代,请尝试以下内容: