在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而非实际网址。
请帮忙。
由于
答案 0 :(得分:0)
我的坏。在body.Replace("[Name]", name);
之后无法更新正文
我将其更改为: -
body = body.Replace("[Name]", name);
body = body.Replace("[url]",url);
解决!!!!