【问题标题】:Injecting html into asp.net string for e-mail将html注入到电子邮件的asp.net字符串中
【发布时间】:2012-05-31 02:40:18
【问题描述】:

目前我正在发送我正在使用 asp.net 字符串创建的 HTML 电子邮件,它将链接输出为纯文本而不是超链接,这正是我想要的。生成电子邮件字符串的代码如下所示:

 Uri link = new Uri("http://www.somesite.com");

string body = "Plus, you may wish to bookmark " + link + " for your rate comparison needs."

string subject = Resources.Email.VerificationEmailSubject;

Email.SendEmail(email, subject, body);

   public static void SendEmail(string toAddress, string subject, string body)
    {
        try
        {

            MailMessage mailMessage = new MailMessage();
            mailMessage.To.Add(new MailAddress(toAddress));
            mailMessage.Subject = subject;
            mailMessage.IsBodyHtml = true;
            mailMessage.Body = body;

            using (SmtpClient smtpClient = new SmtpClient())
            {
                smtpClient.Send(mailMessage);
            }
        }
        catch (Exception ex)
        {
            LogManager log = new LogManager();
            log.LogError(typeof(Email), ex);
        }
    }

最简单的方法是什么?

谢谢!

编辑 1:

试过了——

string emailContent = "Plus, you may wish to bookmark <a href='" + link + "'>www.comparsave.com</a> for your rate comparison needs.";

查看邮件源,字符串被asp.net html编码为html中的纯文本:被替换为“>” "

编辑 2:

好的,明白了!稍后我有时间会发布答案。谢谢大家!

【问题讨论】:

  • 你能把调用那个方法的代码贴出来吗?

标签: c# asp.net html string


【解决方案1】:

如果是 HTML 电子邮件,请执行以下操作:

"<a href='" + link + "'>" + link + "</a>"

【讨论】:

  • 这给了我:另外,您可能希望将 comparasave.com/'>www.comparsave.com</a> 加入书签以满足您的费率比较需求。
  • 当电子邮件到达您的收件箱时,&lt;a&gt; 标签应该会消失,并且您应该只看到链接,只要您以 HTML 格式发送它。
  • 我在 Internet Explorer 中将其视为 .mht 文件。知道这是否会给它带来问题?
  • 我不知道 .mht 是什么,但可能。您可以尝试在您的电子邮件(Outlook、Gmail 等)中查看它吗?
  • 在 Outlook 中查看...同样的问题 :(
【解决方案2】:

使用模板并将链接插入其中。例如

const string template = "Plus, you may wish to bookmark <a href='{0}'>{0}</a> for your rate comparison needs."

string htmlEmailBody = String.Format(template, link);

【讨论】:

    【解决方案3】:

    解决方案是在充当电子邮件模板的 cshtml 文件中使用 Html.Raw。由于某种原因,我无法在上面发布的 cs 文件中调用 Html.Raw。

    【讨论】:

      猜你喜欢
      • 2014-09-26
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2011-08-26
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多