我想发送一堆电子邮件,显式格式化的方法是渲染局部视图并发送。问题是我想在后台执行此操作,因此如何访问我需要的方法并不是很明显。
由于工作由控制器启动,我想到的一件事是这样的:
public ActionResult SendEmails(){
Task.Factory.StartNew(() => DoSendEmails(
// pass in a formatting closure that has access to the
// controller's context
delegate(EmailData) {
return RenderPartialToString("view", EmailData);
}
));
}
这会有用吗?还有更好的方法吗?
答案 0 :(得分:3)
另一个需要考虑的选择是Postal。您可以找到一个教程here来开始,或者从MvcConf中观看this video。您可以使用Email.SendAsync()
方法异步发送电子邮件。
答案 1 :(得分:2)
我编写了一个名为ActionMailer.Net的项目,允许您从MVC视图生成电子邮件。给它一个旋转,如果你喜欢它让我知道。我还为项目写了一些documentation和一个很好的screencast。干杯! :)
答案 2 :(得分:1)
我强烈建议您MvcMailer(请注意异步发送电子邮件部分)。您也可以结帐Scott Hanslemann's blog post。