2011-03-17 67 views
2

我想发送一堆电子邮件,并且格式化它们的显而易见的方法是渲染局部视图并发送它。问题是我想在后台执行此操作,因此如何访问我需要的方法并不是很明显。ASP.NET MVC渲染到电子邮件

工作以来由控制器拉开序幕,有一两件事我想的是这样的:

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); 
     } 
)); 
} 

将这项工作?有没有更好的办法?

回答

2

我写了一个名为ActionMailer.Net的项目,它允许您从MVC视图中生成电子邮件。给它一个旋转,让我知道,如果你喜欢它。我也为这个项目写了一些documentation和一个不错的screencast。干杯! :)

3

另一个需要考虑的选项是Postal。你可以找到一个教程here开始,或从MvcConf观看this video。您可以使用Email.SendAsync()方法异步发送电子邮件。