Send Email c#
To send an e-mail with .NET Core, we first define "ContactFormModel.cs".
public class ContactFormModel
{
public string Name { get; set; }
public string Email { get; set; }
public string Subject { get; set; }
public string Message { get; set; }
}
Send mail design
form element in the design file (.cshtml)
<form asp-action="SendMail" method="post">
<input type="text" name="Name" placeholder="Your Name" required />
<input type="email" name="Email" placeholder="Your Email" required />
<input type="text" name="Subject" placeholder="Subject" required />
<textarea name="Message" placeholder="Message" required></textarea>
<button type="submit">Send Message</button>
</form>
Controller method
[HttpPost]
public async Task<IActionResult> SendMail(ContactFormModel model)
{
try
{
var smtpClient = new SmtpClient("smtp.gmail.com")
{
Port = 587,
Credentials = new NetworkCredential("your_gmail", "your_gmail_app_password"),
EnableSsl = true,
};
var mailMessage = new MailMessage
{
From = new MailAddress("your_gmail"),
Subject = model.Subject,
Body = $"Name: {model.Name}\nEmail: {model.Email}\n\n{model.Message}",
IsBodyHtml = false,
};
mailMessage.To.Add("your_gmail");
await smtpClient.SendMailAsync(mailMessage);
ViewBag.Message = "Your message has been sent!";
}
catch (System.Exception ex)
{
ViewBag.Message = "Error sending email: " + ex.Message;
}
return View("Index");
}
}
Gmail Settings
[HttpPost]
public async Task<IActionResult> SendMail(ContactFormModel model)
{
try
{
var smtpClient = new SmtpClient("smtp.gmail.com")
{
Port = 587,
Credentials = new NetworkCredential("your_gmail", "your_gmail_app_password"),
EnableSsl = true,
};
var mailMessage = new MailMessage
{
From = new MailAddress("your_gmail"),
Subject = model.Subject,
Body = $"Name: {model.Name}\nEmail: {model.Email}\n\n{model.Message}",
IsBodyHtml = false,
};
mailMessage.To.Add("your_gmail");
await smtpClient.SendMailAsync(mailMessage);
ViewBag.Message = "Your message has been sent!";
}
catch (System.Exception ex)
{
ViewBag.Message = "Error sending email: " + ex.Message;
}
return View("Index");
}
}
Your Gmail account must have two-step verification enabled. Enter your Gmail account in the "your_gmail" field. After enabling two-step verification, create a password in the "App Password" section within Gmail. Enter the generated password in the "your_gmail_app_password" field.