How To Send Email With Sendgrid C#

Great communication is crucial for the success of any business. Email is still one of the most efficient and adaptable avenues available. However, automating and sending emails can be challenging. So, why not let a service handle the difficult tasks for you? SendGrid is a fantastic option; it is a top-rated email service provider (ESP) that simplifies email sending without requiring a dedicated email server. This article will walk you through the process of integrating SendGrid into your C# application.


You will need:

  • A SendGrid account
  • The SendGrid C# library. Install it to your project using NuGet, Install-Package SendGrid -Version 9.22.0

Getting Your API Key

SendGrid uses API keys for authentication. After logging into your SendGrid account, navigate to the ‘Settings’ tab and click ‘API Keys’. Click ‘Create API Key’, give it a name, and choose ‘Full Access’. Your new API key will be generated – save it securely, as you won’t be able to see it again.

Sending an Email

With the API key obtained and the library installed, you’re ready to craft and send an email. Here’s a simple example:

using SendGrid;
using SendGrid.Helpers.Mail;

public async Task SendEmailAsync()
    var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
    var client = new SendGridClient(apiKey);

    var from = new EmailAddress("[email protected]", "Example User");
    var subject = "Sending with SendGrid is Fun";
    var to = new EmailAddress("[email protected]", "Example User");
    var plainTextContent = "and easy to do anywhere, even with C#";
    var htmlContent = "<strong>and easy to do anywhere, even with C#</strong>";
    var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

    var response = await client.SendEmailAsync(msg);

In this example, we’re sending an email from [email protected] to the same email address. The subject line is “Sending with SendGrid is Fun” and the body text is “and easy to do anywhere, even with C#”. The HTML content allows you to style the email with HTML tags, for example making the text bold.

Note the use of Environment.GetEnvironmentVariable(“SENDGRID_API_KEY”) to get the API key. It’s best practice to store sensitive information like this in environment variables, rather than hard-coding it into your application.


That’s all there is to it! With just a few lines of code, you can send emails programmatically from your C# application with SendGrid. Check out SendGrid’s extensive documentation for more advanced features, such as sending to multiple recipients, including attachments, and more.