Showing posts with label email through C#. Show all posts
Showing posts with label email through C#. Show all posts

Saturday, 4 February 2023

Send an email through Gmail SMTP and discuss common errors


This article will teach us how to send emails through the .Net C# code. Common issue while sending an email.

Below is the code to send an email.

Host: smtp.gmail.com
Port: 587


 var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("senderemal@gmail.com", "password"),               
                EnableSsl = true
            };
  client.Send("senderfromemail@gmail.com", "to@gmail.com", "test", "testbody");


You will get the below error while running this code.

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication


Upto last year's user, you can enable Less secure app access from Google account settings and run the code. But, now Google no longer supports third-party apps on the devices. Google disables the Less secure app access option.





















To fix this issue, you need to create an app password from the google account settings. 


Step 1: 
Go to your Google Account.

Step 2: Select Security.
Step 3: Under "Signing in to Google," select App Passwords















If the select App password option is unavailable, this means you have not enabled 2-Step verification.

Step 4: Enable the 2-Step verification first.
Step 5: Click on the app password and generate your new password. Select the device and choose the device you’re using and then Generate.






 The App Password is the 16-character code in the yellow bar on your device.
Tap Done.

Step 6: Use your new password in the same code.

 var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("senderemal@gmail.com", "apppassword"),               
                EnableSsl = true
            };
  client.Send("passfromemail@gmail.com", "to@gmail.com", "Subject", "Email body");


You can find, your email is working

If you want to send an email with HTML Content the use below code.

      var body = "Email body here.<br/><br/> <a>Reset password</a>";
           
      var msg = new MailMessage();    
      msg.IsBodyHtml = true;
      msg.Body = body;
      msg.Subject = "Subject here";
      msg.From = new MailAddress("fromemail@gmail.com");
      msg.To.Add("toemail@gmail.com");

      client.Send(msg);


I hope you like the article.

Push Docker Image to Create Azure Container App

Push Docker Image either to Azure Container Registry (ACR), or you can directly upload Public Image of Docker Hub Step 1: Create Azure Conta...