【问题标题】:How to send dynamic html content in mvc如何在 mvc 中发送动态 html 内容
【发布时间】:2017-03-08 20:54:33
【问题描述】:

我有一个 ASP.Net MVC 应用程序。我需要从 HTML 编辑器发送 html 内容。但我有问题。

这是我的 HTML 编辑器:

这是我的代码:

public void MailMessageHtml(string body, string subject, string from, IEnumerable<string> to)
    {
        var message = new MailMessage();
        message.To.Add(new MailAddress("myemail@example.com"));
        message.From = new MailAddress(_Settings.MailServer.UserName);
        message.Subject = subject;
        message.IsBodyHtml = true;

        var htmlBody = AlternateView.CreateAlternateViewFromString(
            body, Encoding.UTF8, "text/html");

        message.AlternateViews.Add(
            AlternateView.CreateAlternateViewFromString(string.Empty, new ContentType("text/plain")));

        message.AlternateViews.Add(htmlBody);

        using (var smtp = new SmtpClient())
        {
            var credential = new NetworkCredential
            {
                UserName = _Settings.MailServer.UserName,
                Password = _Settings.MailServer.Password
            };
            smtp.Credentials = credential;
            smtp.Host = _Settings.MailServer.IPAddress;
            smtp.Port = _Settings.MailServer.Port;
            smtp.EnableSsl = _Settings.MailServer.EnableSSL;
            smtp.Send(message);
        }
    }

但是电子邮件正文中的 html 内容显示如下:

我该怎么办?

【问题讨论】:

  • 这么多细节,但没有解释你的“问题”是什么......
  • 你能展示一下整个功能吗?请拨打电话。
  • 那是纯文本吗?如果您在正文中指定纯文本,则应将其用于不呈现 html 的客户端。
  • 我已经编辑了问题以进行澄清。
  • 您的 HTML 可能正在被编码,因此您正在发送 HTML,但括号被编码为 <和 >...

标签: c# asp.net-mvc email html-email


【解决方案1】:

在将内容传递给正文之前,您需要对内容进行解码。

body = HttpUtility.HtmlDecode(body);

就这个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多