.NET C#Email:使用电子邮件模板

时间:2009-11-20 11:35:56

标签: c# .net email

我想使用HTML模板发送HTML电子邮件。 我想从该HTML模板中替换一些值。 知道如何实现这个目标吗?

4 个答案:

答案 0 :(得分:5)

如果您的需求比使用@Anuraj的建议更复杂,那么我建议您查看XSLT - 您将数据打包成一堆XML并使用XSLT将XML转换为任何内容(在本例中为HTML)模板。

支持.NET进行此类转换非常出色,一旦您克服了最初的挑战(XSLT 不同),您将为您的工具包添加一套非常强大的工具。< / p>

答案 1 :(得分:3)

string emailTemplate = @"
Hi, ##USERNAME##
bla bla bla dear ##USERNAME## bla bla bla!

Best regards, 
##MYNAME##";

string email = emailTemplate
    .Replace("##USERNAME##", userName)
    .Replace("##MYNAME##", myName);

答案 2 :(得分:2)

将占位符放在包含{0},{1}等的HTML内容中,并使用String.format()替换它。

答案 3 :(得分:1)

DotLiquid是另一种选择。您可以将类模型中的值指定为{{user.name}},然后在运行时提供该类中的数据,以及带有标记的模板,它将为您合并值。好处是这些是“安全的”,因此创建模板的用户不会崩溃您的系统或编写不安全的代码: http://dotliquidmarkup.org/try-online