Sending Email in C# through Gmail Sending Email in C# through Gmail

Email communication plays a vital role in our digital lives, and as a .NET developer, it's essential to know how to send emails programmatically. In this article, we will explore how to send emails in .NET using the Gmail SMTP server.

Gmail provides a powerful and reliable email service that can be easily integrated into .NET applications. To send email through Gmail, we will leverage the System.Net.Mail namespace in .NET, which provides classes for creating and sending email messages.

Before we begin, there are a few prerequisites:

  1. A Gmail account: You'll need a Gmail account to send emails through Gmail's SMTP server. If you don't have one, you can create a new account for free at
  2. Enable Less Secure Apps: By default, Gmail blocks sign-in attempts from apps it considers less secure. Since we will be using SMTP to send emails, we need to enable the "Allow less secure apps" option in your Gmail account settings. You can find this option under "Security" in your Google Account settings.
  3. Now let's dive into the code.

    Step 1: Set up the .NET project

    Create a new .NET project in your preferred IDE (Visual Studio or Visual Studio Code). Make sure you have the .NET framework installed.

    Step 2: Add the required namespaces

    To send emails, we need to include the System.Net.Mail namespace. Open your code file and add the following using statement at the top:

    using System.Net.Mail;

    Step 3: Configure SMTP settings

    We need to configure the SMTP settings to connect to Gmail's SMTP server. Add the following code snippet in your application:

    SmtpClient smtpClient = new SmtpClient("", 587);
    smtpClient.EnableSsl = true;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = new NetworkCredential("[email protected]", "your-password");

    Make sure to replace "[email protected]" and "your-password" with your Gmail account credentials. You can also store these values securely in your application's configuration file instead of hardcoding them.

    Step 4: Compose and send the email

    Now we can compose and send the email using the configured SMTP client. Add the following code snippet to send an email:

    MailMessage mailMessage = new MailMessage();
    mailMessage.From = new MailAddress("[email protected]");
    mailMessage.To.Add("[email protected]");
    mailMessage.Subject = "Hello from .NET";
    mailMessage.Body = "This is a test email sent through Gmail SMTP in .NET.";

    In the above code, replace "[email protected]" with the recipient's email address. You can customize the subject and body of the email according to your requirements.

    Step 5: Handle exceptions

    When sending an email, exceptions can occur due to various reasons, such as network issues or incorrect SMTP settings. It's important to handle these exceptions gracefully to provide a better user experience. Add error handling code using try-catch blocks to handle any potential exceptions that may occur during the email sending process.

    That's it! You have successfully sent an email using the Gmail SMTP server in .NET. You can run your application and test the email functionality.

    It's worth noting that Gmail has certain limitations on the number of emails you can send per day, so make sure to review their policies and adhere to them.

    Sending emails programmatically in .NET through Gmail is a valuable skill for any .NET developer. It allows you to automate email notifications, alerts, and other email-based functionalities in your applications. With the power of Gmail's SMTP server and the flexibility of

    .NET, you can build robust email capabilities that enhance your application's communication abilities.

Published on May 19, 2023

Tags: email | ASP.NET MVC and Web API Tutorial

Related Posts

Did you enjoy this article? If you did here are some more articles that I thought you will enjoy as they are very similar to the article that you just finished reading.


Learn how to code in HTML, CSS, JavaScript, Python, Ruby, PHP, Java, C#, SQL, and more.

No matter the programming language you're looking to learn, I've hopefully compiled an incredible set of tutorials for you to learn; whether you are beginner or an expert, there is something for everyone to learn. Each topic I go in-depth and provide many examples throughout. I can't wait for you to dig in and improve your skillset with any of the tutorials below.