Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用默认电子邮件客户端发送文档_.net_Windows_Api_Email - Fatal编程技术网

.net 使用默认电子邮件客户端发送文档

.net 使用默认电子邮件客户端发送文档,.net,windows,api,email,.net,Windows,Api,Email,例如,当您单击web浏览器中的链接时,它会自动打开安装在PC上的默认电子邮件客户端,并在中填充该电子邮件地址。我需要执行类似的操作,但需要文件附件。它看起来像软件界面中的“使用默认电子邮件客户端发送文件”选项 是否有任何API可用于此 您正在讨论的功能使用了mailto:URL方案,如本文所述 这对附件没有规定,所以答案是,没有,没有这样的API 您可以创建自己的Web表单并从服务器端发送电子邮件-这将为您提供对电子邮件所需的所有控制。一个我不知道的API。对于使用您可以使用的地址启动电子邮件客

例如,当您单击web浏览器中的链接时,它会自动打开安装在PC上的默认电子邮件客户端,并在中填充该电子邮件地址。我需要执行类似的操作,但需要文件附件。它看起来像软件界面中的“使用默认电子邮件客户端发送文件”选项


是否有任何API可用于此

您正在讨论的功能使用了
mailto:
URL方案,如本文所述

这对附件没有规定,所以答案是,没有,没有这样的API


您可以创建自己的Web表单并从服务器端发送电子邮件-这将为您提供对电子邮件所需的所有控制。

一个我不知道的API。对于使用您可以使用的地址启动电子邮件客户端的简单解决方案:

System.Diagnostics.Process.Start("mailto:"+emailAddress);
但它只适用于简单的单一电子邮件,其局限性显而易见。确保捕获可能引发的异常

更新 我没有看到附件要求。在这种情况下没有帮助,但无论如何,如果您安装了outlook和interops,这里有示例代码。也许它能帮助你:

可能重复的
 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);
 // ....