1

我目前的任务是向应用程序添加有限的电子邮件功能。它仅适用于未安装 Outlook 但可能具有 Outlook Express、Windows Live Mail 或类似软件之一的 Windows PC。我不允许获取电子邮件服务器的详细信息,因为 PC 是用于客户端的,而不是内部的。我也不能使用CDO 或扩展 MAPI,因为客户端可能没有 Exchange,而且我也被禁止创建 Web 服务来实现该功能,因为实现该功能的成本太高。

因此,我很自然地考虑使用第三方库,但据我所知,我发现的最好的库Redemption 不可行,因为它使用扩展的 MAPI 并且仅与 Exchange 或 Outlook 通信。

一个简单的 mailto 链接是不够的,因为我必须包含附件。

然后我基于开发了一些 .NET 代码,这些代码大部分都可以工作,但有几个问题是它只能在没有附件的情况下工作,除非安装了 Outlook 客户端,并且从长远来看,托管代码根本不兼容 MAPI。通常它在我的主要开发机器上运行良好,但到目前为止,我只设法在 XP 上使用 Outlook Express 和 Vista 上使用 Windows Mail 进行测试,附件在这两种机器中都不起作用。

我一直在进一步调查,发现唯一可靠的解决方案似乎是围绕 MAPI32.dll 中的简单 MAPI 函数编写 C++ 或 VB6 COM 包装器。我宁愿不创建一个 VB6 的,即使这对我来说是最简单的解决方案,而 C++ 的解决方案超出了我的技能范围,我怀疑它是否会比我使用的托管代码更好涉及的操作系统和邮件客户端方案。

在上述限制下,如何可靠地实现带有附件功能的电子邮件?

4

1 回答 1

0

我们使用 CodeStone 的一个库,它支持 IMAP 和 POP,并且很容易实现。

http://codestone.co.uk/software/docs/csmail/csmail.html

于 2014-07-11T12:54:51.200 回答