SmtpClient和MailMessage - 如何格式化锚标签?

时间:2018-04-10 19:06:22

标签: c# asp.net-mvc smtp

我有一个应用程序需要用户在注册时确认他们的电子邮件,所以我创建了一些功能来向用户发送电子邮件,带有链接,他们可以点击该链接然后确认他们的电子邮件。

为了做到这一点,我正在使用MailMessageSmtpClient类发送电子邮件。

目前,我的代码是:

public ActionResult Send() {
    MailMessage email = new MailMessage {
        Subject = "Confirm Email",
        Body = "<a href='http://www.google.com'>Google</a>",
        IsBodyHtml = true
    };

    SmtpClient smtp = new SmtpClient();
    smtp.Send(email);

    return RedirectToAction("Index", "Email");
}

现在研究我发现IsBodyHtml标志会有用,如果我正在尝试发送包含HTML的电子邮件,虽然经过测试,我收到的电子邮件没有正确格式化锚标签。

enter image description here

知道我可能做错了什么,或者我对格式化邮件正文有多么不同?

谢谢!

1 个答案:

答案 0 :(得分:0)

所以,我在这里搞砸了。似乎我试图自己发送的邮件会转到Outlook的垃圾邮件文件夹,它会删除href值并将其显示在电子邮件中。

如果我右键单击电子邮件并选择Display HTML,则链接会按预期显示。

糟糕!