有没有可靠的方法可以在没有电子邮件客户端的情况下实现电子邮件功能



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

因此,我

自然而然地考虑使用第三方库,但我发现的最好的一个,救赎,据我所知,因为它使用扩展的 MAPI 并且只与 Exchange 或 Outlook 通信。

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

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

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

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

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

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

相关内容

最新更新