7


6

asp.netを使用してカスタマイズされたHTMLメールを送信する最も簡単な方法は何ですか?

通常のように、ActionResultを介してHTMLをブラウザに返すのではなく、電子メールでHTMLを送信することをお勧めします。 このようにして、ビューとしてEメールを作成し、モデルを介してそれにデータを提供してから、標準の.NET Eメールを使用してそれを起動することができます。

これは実現可能ですか/それを実行する方法?

ありがとう、

4 Answer


9


この ブログ記事には、ビューを文字列にレンダリングして電子メールで送信できるようにするための優れた解決策があります。

/// 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 =新しいViewPage {ViewData = vd};制御制御= vp.LoadControl(controlName);

vp.Controls.Add(コントロール);

StringBuilder sb = new StringBuilder(); using(StringWriter sw = new StringWriter(sb)){using(HtmlTextWriter tw = new HtmlTextWriter(sw)){vp.RenderControl(tw); }}

sb.ToString()を返します。 }


5


私は、mvcでEメールを送信することはWebフォームとまったく同じだと思います。メールメッセージの属性をhtml対応に設定する必要があります。 このコードのように

MailMessage mm = new MailMessage(emmailFrom、emailTo); mm.Subject = "あなたの件名"; mm.IsBodyHtml = true; mm.Body = body.ToString();

SmtpClient smtp = new SmtpClient(); smtp.Send(mm);


1


私はすべての私の電子メールの必要性のためにMVCメーラーを使います

詳細については、下記のプロジェクトリンクを参照してください。


-1


メールを送信する前に以下のコードを追加する必要があります。

mailMessage.IsBodyHtml = true;