HTML 内容未在电子邮件中呈现
HTML content is not rendered in an Email
我想打开(而不是发送)一封内容为 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;
感谢您的帮助。
您需要将 HTML 内容添加到 DOM,而不仅仅是将其显示为字符串。您可以通过 jQuery 执行此操作,例如:
$("#containerId").append($("your mail content"));
我想打开(而不是发送)一封内容为 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;
感谢您的帮助。
您需要将 HTML 内容添加到 DOM,而不仅仅是将其显示为字符串。您可以通过 jQuery 执行此操作,例如:
$("#containerId").append($("your mail content"));