0

致力于在 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>

我有 ac# 类处理电子邮件发送。我将上述 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 而不是实际的 url。

请帮忙。

谢谢

4

1 回答 1

0

我的错。body.Replace("[Name]", name); 在我将其更改为以下内容后,它无法更新正文 :-

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

解决!!!!

于 2013-04-09T21:47:09.080 回答