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

问题描述:

我目前的任务是为应用程序添加有限的电子邮件功能。它只适用于没有安装Outlook的Windows PC,但可能具有Outlook Express,Windows Live Mail或类似软件之一。我不能获得电子邮件服务器的详细信息,因为PC是为客户而不是内部的。我也不能使用CDO or extended MAPI,因为客户端可能没有Exchange,并且我也被禁止创建一个Web服务来实现这个功能,因为这太昂贵了。在没有电子邮件客户端的情况下是否有可靠的方法来实现电子邮件功能?

所以很自然地,我使用第三方库进行了研究,但我发现的最好的一个,Redemption,据我所知,因为它使用扩展的MAPI并且只与Exchange或Outlook进行通信。

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

然后,我开发了一些.NET代码基于this大多的作品,但也有一对夫妇的,除非安装了Outlook客户端,它仅适用于不带附件的问题,并且从长远来看managed code is simply not compatible with MAPI。通常,它在我的主要开发计算机上工作正常,但我只能设法使用Outlook Express和Vista与Windows Mail进行测试,并且附件在这两者中都不起作用。

我一直在investigating further,并发现唯一可靠的解决方案似乎是编写一个C++或VB6 COM包装MAPI32.dll中的简单MAPI函数。我宁愿不创建一个VB6,即使这对我来说是最简单的解决方案,并且一个C++不在我的技能组中,我很怀疑它是否会比我用于所有涉及操作系统和邮件客户端场景

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

+0

当然,你会想要的东西不止提供:'的mailto:[email protected]主题=主题%20Here及身体=身体%20here%0C%0A%0C%0aSecond%20LINE%20of% 20Body' ... – Ben

+0

是的,我需要添加附件,这样一个mailto链接不会破解它不幸 –

+0

试试这个[简单MAPI的VB6包装](http://dl.unicontsoft.com/upload/SendMail2.zip) ,根据需要进行破解。 – wqw

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

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