HTML内容未在电子邮件

时间:2016-02-04 15:48:01

标签: javascript c# mailto

我想打开(不发送)包含HTML格式内容的电子邮件。 我使用了javascript的mailto,并且我创建了一个包含c#.net中的html的字符串,但是邮件显示的是标签而不是呈现HTML。我想我错过了一个内容类型:text / html但是我该怎么说呢?或者是否有更正确的方法来打开包含内容的电子邮件?

这里是获取html页面的c#.net代码

  [HttpPost]
    public ActionResult SetMailContent(int entreatyID)
    {
         Entreaties entreaty = db.Entreaties.Where(e => e.ID == entreatyID).FirstOrDefault();
         if (entreaty == null)
         {
             return new HttpStatusCodeResult(HttpStatusCode.NotFound, "File Not Found");
         }

         StringWriter stringWriter = new StringWriter();
         using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
         {
             writer.RenderBeginTag(HtmlTextWriterTag.H1);
             writer.Write(entreaty.OpenDate.ToString("dd/MM/yyyy"));
             writer.RenderEndTag();
         }

         string msg = stringWriter.ToString();
         return Json(new { message = msg});
    }

和javascript代码:

window.location = "mailto:mail@gmail.com?body=" + SetMailContent(EntreatyID) + "&subject= " + EntreatyID;

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要将HTML内容添加到DOM,而不是仅将其显示为字符串。您可以通过jQuery执行此操作,例如:

$("#containerId").append($("your mail content"));