2011-03-17 66 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()方法異步發送電子郵件。