C# 你能用附件打开客户的电子邮件吗?

C# 你能用附件打开客户的电子邮件吗?,c#,asp.net,outlook,C#,Asp.net,Outlook,我想知道是否有可能在内部网站上打开某人的outlook以发送带有附件的邮件 到目前为止,我已尝试使用mailto: <a href="mailto:name@email.com">Link text</a> 如果我在我的计算机上运行它,这是可行的,但是当我设置一个网站时,我会得到这个错误 我相信这是因为它试图在服务器上打开它,而服务器上没有安装outlook 有没有办法在客户端而不是服务器上打开它?您可以在服务器上生成一个EML MIME文件,并用您喜欢的任何数据(包括

我想知道是否有可能在内部网站上打开某人的outlook以发送带有附件的邮件

到目前为止,我已尝试使用mailto:

<a href="mailto:name@email.com">Link text</a>
如果我在我的计算机上运行它,这是可行的,但是当我设置一个网站时,我会得到这个错误

我相信这是因为它试图在服务器上打开它,而服务器上没有安装outlook


有没有办法在客户端而不是服务器上打开它?

您可以在服务器上生成一个EML MIME文件,并用您喜欢的任何数据(包括附件)填充其内容。客户端的Outlook将能够打开并显示它。要确保Outlook将其视为未发送邮件,请将X-unsent MIME头设置为1。

您不能使用服务器上的互操作在客户端上启动电子邮件客户端。你能做的最好的是一个mailto:link,据我所知,它不支持附件。这就是我所想的,但我想看看是否有其他方法。谢谢您知道如何将X-Unsent添加到邮件项目中吗?我将对此进行研究。谢谢你的回答!MailItem.Sent属性是只读的-在MAPI级别上,该标志仅在第一次保存之前可设置,这就是OOM不允许您设置它的原因。但是,当您创建一条新消息时,OOM默认为unsent,这就是您想要的。
        Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
        Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);

        oMsg.Subject = "emailSubject";
        oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
        oMsg.BCC = "emailBcc";
        oMsg.To = "emailRecipient";
        oMsg.HTMLBody = "New Body";

        oMsg.Attachments.Add("ATTACHMENTPATH");
        oMsg.Display(false);