您可以打开带有附件的客户电子邮件吗?

时间:2019-09-16 13:53:44

标签: c# asp.net outlook

我想知道是否有可能打开内部网站上某人的视线以发送带有附件的消息。

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

<a href="mailto:name@email.com">Link text</a>

这为他们打开了发送消息的前景,但我认为我不能为此添加附件。

然后我尝试了

        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);

如果我在计算机上运行它,它将起作用,但是在建立网站时出现此错误

ErrorMessage

我相信这是因为它正在尝试在服务器上打开它,并且未在服务器上安装Outlook。

是否可以在客户端而不是在服务器上打开它?

1 个答案:

答案 0 :(得分:1)

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