在mvc / c中动态更新电子邮件正文中的URL#

时间:2013-04-08 16:30:40

标签: email model-view-controller html-email url-encoding

在mvc中发送帐户验证电子邮件。我为电子邮件正文创建了一个格式,如下面所示,并保存在名为“EmailFormat.html”的解决方案中的html文件中。

<body>
Dear [Name],
<p>Thanks for registration.To activate your account please follow the link below:</p>
<p><a href="[url]"> click here for verification </a></p>
<p>if you are not Name or didn't register on abc.com you can ignore this email.</p>
<p>Regards,</p>
<p>www.abc.com</p>
</body>

我有一个处理电子邮件发送的c#类。我将上面提到的html文件作为电子邮件正文,并尝试用实际的运行时参数替换[Name]和[url]。

 string name = myclass.FirstName + " " + myclass.LastName;
    using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("abc." + "EmailFormat.html"))
    using (StreamReader reader = new StreamReader(stream))
       {
            body = reader.ReadToEnd();
        }             

     body.Replace("[Name]", name);
     string url = HttpUtility.HtmlEncode("http://localhost/Controller/Method/uniqueid")
     body.Replace("[url]",url);
     emailutility.send();//ignore this send code.

我收到的电子邮件很好,但问题是点击“点击此处进行验证”,它会转到%5Burl%5D而非实际网址。

请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

我的坏。在body.Replace("[Name]", name);之后无法更新正文 我将其更改为: -

body = body.Replace("[Name]", name);
body = body.Replace("[url]",url);

解决!!!!