如何创建自定义MAPI DLL以捕获扩展MAPI API调用

问题描述:

我有一个传统应用程序调用Outlook使用扩展MAPI发送电子邮件。 Outlook非常不稳定,不能作为服务运行,并且无法处理大量电子邮件,因此我正在寻找一种方法来替换Outlook。如果没有第三方解决方案,我想我将不得不弄清楚如何创建一个模拟Outlook的MAPI dll的MAPI dll。我做了一些Google搜索,发现了导出12个简单MAPI函数但扩展MAPI信息非常少的代码。尽可能地,我更喜欢使用Delphi或Lazarus(支持64位?)来创建dll。有什么方法可以用来捕获扩展的MAPI呼叫。同时我发现了一些关于WINE文档的信息 - http://source.winehq.org/WineAPI/mapi32.html如何创建自定义MAPI DLL以捕获扩展MAPI API调用

希望你能指点一下。 :)

不要这样做:MAPI不仅仅是一个dll,它是一组插件提供商(PST,Exchange等)。 您是否查看过独立版本的MAPI? http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=1004 它可以从服务使用就好。 另外,如果您仅使用扩展MAPI,那么为什么要尝试在服务中运行Outlook?虽然它确实无法在服务中使用,但大多数Outlook安装版本的MAPI系统都可以在服务中使用。

+0

谢谢德米特里,不知道我是否完全理解你的答复。传统软件(服务器应用程序)使用Outlook发送电子邮件。这是系统流程: - 传统应用程序 - > MAPI - > Outlook - > SMTP服务器。我试图做的是取消Outlook部分。我需要强调的是,该服务器上Outlook的用途仅仅是将电子邮件发送到外部SMTP服务器。 Outlook不是必需的。 – Joshua 2012-04-25 18:52:16

+1

为什么你不直接说SMTP?它更简单,然后搞乱Exchange/outlook – whosrdaddy 2012-04-25 21:20:12

+0

扩展MAPI不调用Outlook,Outlook调用MAPI。你的意思是简单的MAPI(它的确经历了Outlook)? – 2012-04-25 22:32:34