【发布时间】:2016-01-12 11:06:38
【问题描述】:
我从 Razor 语法设计了一个电子邮件模板。当我使用 C# 代码和 SMTP 协议将此模板作为电子邮件发送时,我得到了作为电子邮件正文的裸 Razor 和 HTML 标记。我在这种方法上错了吗?是否允许将 Razor 页面用作电子邮件模板?
这是我的主页
@inherits ViewPage
@{
Layout = "_Layout";
ViewBag.Title = "";
}
<div class="container w-420 p-15 bg-white mt-40">
<div style="border-top:3px solid #22BCE5"> </div>
<span style="font-family:Arial;font-size:10pt">
Hello <b>{UserName}</b>,<br /><br />
Thanks for Registering to XYZ Portal<br /><br />
<a style="color:#22BCE5" href="{Url}">Click to Confirm Email</a><br />
<br /><br />
Thanks<br />
Admin (XYZ)
</span>
更新..
using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/ContentPages/EmailConfTemplate.cshtml")))
{
body = reader.ReadToEnd();
//Replace UserName and Other variables available in body Stream
body = body.Replace("{UserName}", FirstName);
}
稍后我将 SMTP 代码替换为 ..
MailMessage message = new MailMessage(
ApplicationWideData.fromEmailId, // From field
ToEmailId, // Recipient field
"Click On HyperLink To Verify Email Id", // Subject of the email message
body
);
【问题讨论】:
-
有些东西需要处理剃须刀,并吐出 HTML。您如何使用代码中的模板来准备电子邮件?
-
@SWeko 我正在使用 Razor 语法创建电子邮件正文。对于发送我在 c# 中使用 SMTP
-
你能显示代码吗?
-
@SWeko 你想要我的 C# 代码吗?
-
@SWeko 我更新了我的帖子..请看一下。我还尝试用
HTML替换.cshtml页面,但我再次获得与邮件正文相同的HTML 标记语法。我指的是codeproject.com/Articles/874218/…链接