asp.net Outlook创建2封电子邮件,而不是1

时间:2018-08-07 07:49:14

标签: c# asp.net email webforms outlook

我使用Asp.net WebForm 我的Outlook应用程序有问题。当用户希望通过Outlook中的电子邮件通过浏览器提交报告/订单时,它将创建2封电子邮件,而不是一封。我真的不明白这可能是个问题。

这是负责创建和发送电子邮件的部分:

//Send email
try
{
    Outlook.Application outlookApp = new Outlook.Application();
    Outlook.MailItem mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
    MailAddress to = new MailAddress(email_primary);
    MailAddress cc = new MailAddress(email_cc);
    mailItem.To = to.ToString();
    mailItem.CC = cc.ToString();

    mailItem.Subject = "MB Accessories Order";

    mailItem.Importance = Outlook.OlImportance.olImportanceNormal;
    mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
    mailItem.Body = "Dear Colleagues, Please find below my MB Accessories & Collection enquiry for MBCME price (VAT included) and availability. FullName:" + Fullname_converted + " Items:" + joinedData + "";
    mailItem.Display(false);
    //mailItem.Send();
    Response.Write("E-mail sent!");
}
catch (Exception eX)
{
    throw new Exception("cDocument: Error occurred trying to Create an Outlook Email" + Environment.NewLine + eX.Message);
}

如果您需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

我通过实现而不是html按钮解决了这个问题 代替:

<button id="idbutton" runat="server" onserverclick="btn_submit_Click">Submit</button>

我用过

<asp:Button runat="server" Text="Submit" OnClick="btn_submit_Click" />

现在工作正常

答案 1 :(得分:0)

您不能在服务器上运行该代码。您的选择是

    客户端上的
  1. JS-必须是IE,并且必须信任该站点才能创建COM对象。

  2. 在服务器端创建EML(MIME)消息并让用户下载-Outlook将很乐意打开并显示它。为确保邮件处于未发送状态,请将X-Unsent MIME标头设置为1。