私はお問い合わせフォームを持っており、お客様のメールアドレスに「Dear John Doe」という顧客名を渡します。名前を表示するにはどうしたらいいですか? asp mvcでメールに顧客名を追加するには
は、私は、@ Model.Nameを呼び出ししようとしたビューにモデルクラスと呼ばれ、電子メールは、コードの代わりに、値を拾っマイビュー
@model MyProject.Models.ContactModel;
<!DOCTYPE html>
<html>
<head>
<title>Thank You</title>
</head>
<body>
<h1>Confirmation</h1>
<p>
Dear @Model.Name, <br /><br />
Thank you for contacting us. This is system generated response
</p>
</body>
</html>
コントローラ
[HttpPost]
public async Task<ActionResult> Index(ContactModel model)
{
if (ModelState.IsValid)
{
MailMessage CustomerMsg = new MailMessage();
CustomerMsg.IsBodyHtml = true;
CustomerMsg.From = new MailAddress("example.com [email protected]");
CustomerMsg.To.Add(model.EmailContact);
CustomerMsg.Subject = "Thank you for your submission";
CustomerMsg.Body = string.Empty;
using (StreamReader reader = new StreamReader(Server.MapPath("~/Views/Contact/EmailTemplate.cshtml")))
{
CustomerMsg.Body = reader.ReadToEnd();
}
using (var smtp = new SmtpClient())
{
var credential = new NetworkCredential
{
UserName = "",
Password = ""
};
smtp.Credentials = credential;
smtp.Host = "mail.example.com";
smtp.Port = 587;
smtp.EnableSsl = false;
try
{
await smtp.SendMailAsync(message);
await smtp.SendMailAsync(CustomerMsg);
}
catch (Exception e)
{
return RedirectToAction("Error", "Home");
}
return RedirectToAction("Sent", "Home");
}
}
return View(model);
モデル
public class ContactModel
{
public string error { get; set; }
[Required(ErrorMessage = " Name field required")]
public string Name { get; set; }
[Required(ErrorMessage = " Email field required")]
[EmailAddress(ErrorMessage = " Valid email required")]
public string EmailContact { get; set; }
[Required(ErrorMessage = " Feedback required")]
public string Message { get; set; }
}
働いていた、それを
を得ました。ファイルから読み込んで魔法のようにHTMLを作成することはできません。 – mason