ste*_*776 5 c# asp.net email asp.net-mvc asp.net-mvc-3
我正在构建一个应用程序,它将向最终用户发送自定义电子邮件.
我构建了一个HTML模板,用于构建电子邮件.
我目前有模板填充标签作为自定义内容的占位符...
|Text-Placeholder|
Run Code Online (Sandbox Code Playgroud)
我一直把html文件作为字符串返回给我的CreateEMail方法:
string html = System.IO.File.ReadAllText(Server.MapPath("~/EmailTemplates/emailTemplate.html"));
Run Code Online (Sandbox Code Playgroud)
然后使用String.Replace替换自定义文本/内容
html = html.Replace("|Name-Placeholder|", username);
Run Code Online (Sandbox Code Playgroud)
我很好奇是否有一种方法允许我将模板构造为强烈类型的RazorView作为ViewModel,它将模拟自定义文本/内容,并将视图作为HTML文件返回或直接作为字符串返回到传入我的SMTPClient实例的body属性是否可以发送给用户?
有没有人完成这样或类似的事情?
gid*_*eon 10
看看这些库:
有ActionMailer.灵感来自Ruby的ActionMailer.
ActionMailer.Net旨在成为一种从ASP.NET MVC应用程序发送电子邮件的简单且相对轻松的方式.这个概念非常简单.我们通过利用一些非常时髦的视图引擎来呈现HTML,那么为什么我们不能对电子邮件做同样的事情呢?
http://nuget.org/packages/ActionMailer
我认为支持许多视图引擎,当然包括Razor.并允许您将模型传递到视图中.请参阅:https: //bitbucket.org/swaj/actionmailer.net/wiki/Home
代码 :
public class MailController : MailerBase
{
public EmailResult VerificationEmail(User model)
{
To.Add(model.EmailAddress);
From = "no-reply@mycoolsite.com";
Subject = "Welcome to My Cool Site!";
return Email("VerificationEmail", model);
}
}
Run Code Online (Sandbox Code Playgroud)
风景:
@using ActionMailer.Net
@model User
@{
Layout = null;
}
Welcome to My Cool Site, @Model.FirstName. We need you to verify your email.
Click this nifty link to get verified!
Run Code Online (Sandbox Code Playgroud)
还有另一个图书馆:
MvcMailer允许您使用MVC视图生成令人惊叹的电子邮件
http://nuget.org/packages/MvcMailer
https://github.com/smsohan/MvcMailer
| 归档时间: |
|
| 查看次数: |
8893 次 |
| 最近记录: |