将SMTP客户端邮件消息转换为HTML

时间:2016-06-20 11:27:02

标签: c#

我有一个mvc4应用程序的问题,我希望发送一个用HTML + C#创建的生成的html页面。问题是,当我收到电子邮件时,我看到我的c#代码就像例如: Recieved Email

但是在邮件预览中,我可以看到正确的值,如下所示: Mail Preview

所以这是我的EmailTemplate方法:

<pre>
 public static async Task<string> EMailTemplate (string template)
        {
            var templateFilePath =HostingEnvironment.MapPath("~/Views/Home/") + template + ".cshtml";
            StreamReader objstreamreaderfile = new StreamReader(templateFilePath);
            var body = await objstreamreaderfile.ReadToEndAsync();
            objstreamreaderfile.Close();
            return body;

        }
</pre>

如果您有任何想法如何将我的模板转换为Html而不包含我的C#代码,请知道。

谢谢,

1 个答案:

答案 0 :(得分:2)

纯Html模板(不是cshtml视图)与电子邮件正文的内联CSS和绝对图片URI一起使用,并填写文本模板。见下图。

Demo Email Template

在上图中,## ... ##字段是文本模板。

现在将此HTML模板作为字符串读取,并使用C#代码(实际上是任何语言代码)通过一些动态信息替换## ... ##字段。您可以使用string.Replace()方法将实际值替换为这些字段。我已经使用过这种方法并且工作正常。我希望这对你也有帮助。