【问题标题】:Is there a reliable way to implement email functionality without an email client?没有电子邮件客户端,是否有可靠的方法来实现电子邮件功能?
【发布时间】:2013-10-30 09:30:21
【问题描述】:

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

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

p>

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

然后我开发了一些基于 this 的 .NET 代码,大部分都可以使用,但存在一些问题,除非安装了 Outlook 客户端并且managed code is simply not compatible with MAPI,否则它只能在没有附件的情况下工作从长远来看。通常,它在我的主要开发机器上运行良好,但到目前为止,我只在 XP 上使用 Outlook Express 和 Vista 上使用 Windows Mail 进行了测试,附件在这两种机器上都不起作用。

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

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

【问题讨论】:

  • 当然,您需要的不仅仅是:mailto:recipient@example.com?subject=Subject%20Here&body=Body%20here%0c%0a%0c%0aSecond%20Line%20of%20Body...
  • 是的,我需要添加附件,这样 mailto 链接就不会很遗憾地破解它
  • 试试这个VB6 wrapper of Simple MAPI,根据需要破解它。
  • 现代 MAPI 是 Outlook 的一部分。 MAPI 的早期版本在很大程度上不受支持。此外,谁不再使用 Outlook Express 或 Windows Live Mail? ...即使您可以使用 MAPI 重用他们的配置。

标签: c++ .net email vb6 mapi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2022-01-13
    • 2013-11-30
    • 2010-11-09
    • 2016-08-18
    相关资源
    最近更新 更多