Asp.net
ASP.NET MVC:如何使用控制器發送 html 電子郵件?
使用 asp.net 發送自定義 html 電子郵件的最簡單方法是什麼?
我想理想情況下我想通過電子郵件發送 html,而不是像往常一樣通過 ActionResult 將其返回給瀏覽器。通過這種方式,我可以將電子郵件建構為視圖,通過模型為其提供數據,然後使用標準的 .NET 電子郵件內容觸發它。
這樣做可行/方法嗎?
謝謝,
這篇部落格文章有一個很好的解決方案,可以將視圖呈現為字元串,以便您可以通過電子郵件發送它。
/// Static Method to render string - put somewhere of your choosing public static string RenderPartialToString(string controlName, object viewData) { ViewDataDictionary vd = new ViewDataDictionary(viewData); ViewPage vp = new ViewPage { ViewData = vd }; Control control = vp.LoadControl(controlName); vp.Controls.Add(control); StringBuilder sb = new StringBuilder(); using (StringWriter sw = new StringWriter(sb)) { using (HtmlTextWriter tw = new HtmlTextWriter(sw)) { vp.RenderControl(tw); } } return sb.ToString(); }