我即将为我正在工作的网站(asp.net/c#)编写一个简单的电子邮件管理器;该网站会发送各种电子邮件,例如账户创建、新闻、某些用户操作等等。因此,会有一些电子邮件模板,其中包含像[$FirstName]这样的占位符,这些占位符将被实际值替换。非常标准的东西。我只是想知道是否有人可以提供现有的代码 - 再次强调,我需要非常简单的东西,没有太多花里胡哨的东西,并且显然带有源代码(并且免费)。任何想法/评论都将不胜感激!谢谢,Andrey
IEmail email = new MyEmailClass();
email.Send();
编辑:这里还有更多的建议:我能在ASP.NET中设置HTML/电子邮件模板吗?
我经常这样做。模板=带有{#}
占位符的文本字符串。要使用模板,我加载字符串(从任何存储中)然后调用string.Format(template,param1,param2..)
简单而且效果很好。当您需要更强大的东西时,可以转移到某种框架,但是string.format对我来说始终有效。
注意
Alison R的链接将此方法提升到了3.5的匿名类型,效果非常好。如果您使用的是3.5,则建议在那里使用FormatWith(我会),否则这种方式也可以正常工作。
我刚刚自己完成了这个,有一些很好的信息在这里:同时发送HTML和纯文本电子邮件。最好的部分是,你不需要除了.NET之外的任何东西。
基本上,你创建一个HTML页面(也就是你格式化的电子邮件),其中包含你想要替换的标签(在这种解决方案的情况下,标签将采用以下格式:<%TAGNAME%>)。然后,你利用上述网站中找到的信息创建一个带有填充了适当数据的标签的邮件模板,并将注入操作完成到你的HTML模板中。然后,你只需使用内置于.NET中的SMTP类并将邮件发送出去即可。这非常简单和直接。
如果你有任何其他问题,请告诉我。希望这可以帮助你!