生成要由客户下载并从其Outlook帐户发送的电子邮件

Jas*_*ers 5 c# asp.net email response

我正在处理的应用程序的一个要求是使用户能够向我们的服务台提交调试报告以查找致命错误(非常类似于Windows错误报告).

我被告知电子邮件必须来自客户的邮件帐户,以防止服务台收到垃圾邮件和大量重复的电话.

为了实现这一点,我正在尝试在服务器上撰写邮件消息,在帮助台的正文中添加一条好消息,并将错误报告作为附件,然后将其添加到响应中,以便用户可以下载,打开并发送.

我已经尝试过,但没有成功地使用Outlook互操作性组件,这是一个没有实际意义的因素,因为我在谷歌的最后6个小时发现,创建多个应用程序实例是非常耗费资源的.

Gag*_*age 2

在我们的一个应用程序中,用户点击生成按钮,它会在 Outlook 中创建并打开电子邮件。他们所要做的就是点击发送按钮。功能如下。

public static void generateEmail(string emailTo, string ccTo, string subject, string body, bool bcc)
        {
            Outlook.Application objOutlook = new Outlook.Application();
            Outlook.MailItem mailItem = (Outlook.MailItem)(objOutlook.CreateItem(OlItemType.olMailItem));

            /* Sets the recipient e-mails to be either sent by 'To:' or 'BCC:' 
             * depending on the boolean called 'bcc' passed. */
            if (!(bcc))
            {
                mailItem.To = emailTo;
            }
            else
            {
                mailItem.BCC = emailTo;
            }
            mailItem.CC = ccTo;
            mailItem.Subject = subject;
            mailItem.Body = body;
            mailItem.BodyFormat = OlBodyFormat.olFormatPlain;
            mailItem.Display(mailItem);
        }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它目前正在以纯文本形式输出电子邮件,因为它需要黑莓友好。如果您需要一些格式选项,您可以轻松地将格式更改为 HTML 或 Richtext。对于 HTML 使用mailItem.HTMLBody

希望这可以帮助。

编辑:

我应该注意到,这是在 C# 应用程序中使用的,并且它引用了 Microsoft.Office.Core 以及using Outlook该函数所在的 Email 类。