0

我正在编写一个应用程序,我必须使用默认邮件应用程序发送带有附件的电子邮件。

在发送电子邮件之前,我希望用户能够编辑文本,即应用程序应该只打开带有预先填写的收件人和附件的邮件客户端,并让用户有机会发送它。

如果我从文件的上下文菜单中选择“SendTo/Mail Recipient”,我至少需要获得相同的效果。

基于“mailto:”技巧的解决方案将不起作用,因为有些邮件客户端不支持“attachment=”部分。

我找到的最完整的解决方案是这个: http: //www.codeproject.com/Articles/3839/SendTo-mail-recipient 但对于如此简单的事情来说似乎有很多代码!(使用 VS2008 编译时也会崩溃)

还有其他选择吗?即使它是外部工具或脚本(例如,使用 cscript 启动的 .vbs 脚本)也可以。

4

1 回答 1

0

我建议您使用 MAPI(消息应用程序接口)。

如果 dotNet 可以成为解决方案的一部分,这里有一个 C# 中的现成类:用于创建 MAPI 邮件消息的类。它会给你这样的东西:

MapiMailMessage message = new MapiMailMessage("Test Message", "Test Body");
message.Recipients.Add("Test@Test.com");
message.Files.Add(@"C:\del.txt");
message.ShowDialog();

否则,如果您对 C++ 感到满意,您可以随时使用 C++ 进行操作,就像这个答案所建议的那样。

然后,您将能够 ShellExecute 二进制可执行文件并向其传递一些参数。

希望这可以帮助 :-)

于 2013-06-10T10:18:52.037 回答