保存データを作成し、後にデータを保存し、電子メールでのメールアドレスとパスワードを送信する必要があるとして、そのパスワードとメール
をユーザーに電子メールを送信する私ですあなたの要件に応じてコード、希望はあなたを助けてくれるでしょう。
[HttpPost]
public ActionResult Create(TeacherViewModel viewModel)
{
if (!ModelState.IsValid)
{
return View("Create", viewModel);
}
var teacher = new Teacher
{
Identifier = viewModel.Identifier,
Name = viewModel.Name,
Surname = viewModel.Surname,
Email = viewModel.Email,
PhoneNumber = viewModel.PhoneNumber,
Ville = viewModel.Ville,
Block = viewModel.Block,
Password = viewModel.Password
};
_context.Teachers.Add(teacher);
_context.SaveChanges();
// For send an email
string mailfrom = "sender mail", mailTo = teacher.Email, //"receiver mail",
subject = "Subject Line", filepath = "", htmlbody = "";
filepath = Server.MapPath("~/path_for_email_template/template.html");
htmlbody = System.IO.File.ReadAllText(filepath);
/* you can replace some dynamic contents from body as per your requirements like as name, email but for that you need to all the variable with unique pattern so you can easily replace them, ex: %name% */
htmlbody = htmlbody.Replace("%name%", teacher.Name)
.Replace("%password%", teacher.Password) // as you want to send a password inside mail.
.Replace("%email%", teacher.Email);
try
{
// you need to include
// using System.Net;
// using System.Net.Mail;
SmtpClient client = new SmtpClient("host");
client.Port = 25;// int port number
client.Credentials = new NetworkCredential("Sender_UserName", "Sender_password");
client.EnableSsl = false;//true if ssl required
MailMessage msg = new MailMessage();
msg.To.Add(mailTo);
msg.From = new MailAddress(mailfrom.Trim());
msg.Subject = subject;
msg.Body = htmlbody;
msg.IsBodyHtml = true;
client.Send(msg);
}
catch (SmtpException ex) { throw (ex); }
return RedireToAction("Index", "Home");
}
「SmtpClient」を使用して電子メールを送信できます。 Googleは「SmtpClientでメールを送信しています」と多くのサンプルを見つけることができます。 – Shyju
かみそりの表示でそれを行う方法 –
なぜそれを見たいのですか?データをテーブルに保存した後で、アクションメソッド(またはこのアクションメソッドから呼び出されているサービス)で実行します。 – Shyju