How To Send Email Using Sendgrid In Node Js

SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers. It offers a robust framework for sending emails from your web applications. In this blog post, we will guide you on how to send emails using SendGrid in Node.js.

Step 1: Set Up Your SendGrid Account

First of all, you need to set up your SendGrid account. Visit SendGrid Website and sign up for a free account. Once you have signed up and logged in, proceed to the dashboard and then to ‘Email API’ > ‘Integration Guide’.

On the Integration Guide page, select ‘Web API’ > ‘Node.js’ > ‘Choose’ > ‘Create API Key’. Name your API key and provide full access, then click ‘Create & View’. Copy your API key as you’ll need it in your Node.js application.

Step 2: Create a Node.js Application

Ensure that you have Node.js and npm installed in your local development environment. Then, create a new Node.js project and install the SendGrid mail library using npm:

npm install @sendgrid/mail

Step 3: Send an Email

Create a new file in your project and name it ‘app.js’. In this file, require the SendGrid library and set up your API key:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

Then, you can create a message object that contains the email details (sender, receiver, subject, and body text) and use the sgMail.send() method to send the email:

const msg = {
  to: 'test@example.com', // Change to your recipient
  from: 'test@example.com', // Change to your verified sender
  subject: 'Sending with SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};

sgMail
  .send(msg)
  .then(() =&gt; {
    console.log('Email sent')
  })
  .catch((error) =&gt; {
    console.error(error)
  })

Now, you can run your app.js file in the terminal with the following command (make sure to replace “your_sendgrid_api_key” with your actual SendGrid API key):

SENDGRID_API_KEY=your_sendgrid_api_key node app.js

And there you have it! You’ve just sent an email with SendGrid and Node.js. Keep in mind, for this to work in a production environment, you’ll need to implement error handling and more robust features. But this guide should provide a solid foundation for sending emails in your Node.js applications with SendGrid.