【发布时间】:2012-12-21 20:36:28
【问题描述】:
例如,当您在 Web 浏览器中单击链接时,它会自动打开安装在您 PC 上的默认电子邮件客户端并填写该电子邮件地址。我需要执行类似的操作,但带有文件附件。它看起来像软件界面中的“使用默认电子邮件客户端发送文件”选项。
是否有任何可用的 API?
【问题讨论】:
例如,当您在 Web 浏览器中单击链接时,它会自动打开安装在您 PC 上的默认电子邮件客户端并填写该电子邮件地址。我需要执行类似的操作,但带有文件附件。它看起来像软件界面中的“使用默认电子邮件客户端发送文件”选项。
是否有任何可用的 API?
【问题讨论】:
您所说的功能使用mailto: URL 方案,在此RFC 中进行了描述。
这对附件没有规定,所以答案是,没有这样的API。
您可以创建自己的网络表单并从服务器端发送电子邮件 - 这将为您提供对电子邮件消息所需的所有控制权。
【讨论】:
我不知道的 API。对于使用您可以使用的地址启动电子邮件客户端的简单解决方案:
System.Diagnostics.Process.Start("mailto:"+emailAddress);
但它仅适用于简单的单个电子邮件,并且限制是显而易见的。确保捕获可能引发的异常。
更新 我还没有看到附件要求。在这种情况下无能为力,但如果您安装了 Outlook 和互操作,无论如何这里是示例代码。也许它可以帮助你:
Microsoft.Office.Interop.Outlook.Application app =
new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.MailItem mailItem=
app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mailItem.Attachments.Add(filePath);
// ....
【讨论】: