在Windows上创建和显示电子邮件,具有最大的电子邮件客户端兼容性

时间:2012-11-27 19:05:00

标签: c# windows vb.net mapi

我需要创建一个可以从命令行调用的可执行文件,它将创建一个电子邮件,将文件附加到电子邮件中并向用户显示电子邮件,以便他们可以完成电子邮件并发送它。这应该在用户已将其配置为默认值的电子邮件客户端中完成。

这需要尽可能多的电子邮件客户端。我所知道的最常用的是Outlook 2007-2010,Outlook Express,Windows Live Mail和Thunderbird。我将针对.NET 2.0,以便在用户使用Vista时不需要安装更新的.NET。

简单MAPI能够执行上述操作,但Outlook 2007+不支持它。列表中的所有其他邮件客户端都支持简单MAPI。我觉得Outlook是唯一使用扩展MAPI的客户端,并且扩展MAPI使用起来很棘手,所以最好只使用Outlook COM API而不是扩展MAPI。

首先,如果Outlook可用,程序将查找Outlook并使用Outlook COM API执行上述操作。我将在VB中实现此组件并使用后期绑定,这样我就不会针对特定版本的Outlook进行编译。然后,如果找不到Outlook,它将回退到简单MAPI并尝试使用它。

由于代码中的所有这些决策,我将使该程序记录其活动,以便我们可以调试用户机器上运行时发生的事情。

这种方法有效吗?你知道更好的方法吗?我的目标是最大化兼容性。

修改

看起来Outlook 2007+确实支持简单MAPI,但如果您运行的是64位版本,则32位可执行文件无法调用它。因为这个原因,我会坚持上述计划。

1 个答案:

答案 0 :(得分:0)

Outlook 2007支持简单MAPI就好了。