Computer Science

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

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.