ASP.NET MVC: Как послать электронное письмо HTML с помощью контроллера?

От MSDN Library:

динамически подключаемая библиотека (DLL) А является модулем, которые содержат функции и данные, которые могут использоваться другим модулем (приложение или DLL).

7
задан DaveRandom 25 February 2013 в 20:13
поделиться

2 ответа

В этом сообщении в блоге есть хорошее решение для рендеринга представления в строку, чтобы вы могли отправить его по электронной почте.

/// 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();
}
9
ответ дан 6 December 2019 в 15:23
поделиться

Я думаю, что отправка электронной почты в mvc - это то же самое, что и в веб-форме, вам просто нужно установить атрибут почтового сообщения на html enabled, тогда это еда на вынос. Например, этот код

MailMessage mm = new MailMessage(emmailFrom,emailTo);
mm.Subject = "Your Subject";
mm.IsBodyHtml = true;
mm.Body = body.ToString();

SmtpClient smtp = new SmtpClient();
smtp.Send(mm);
5
ответ дан 6 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: