Sending bulk emails in Node.js using SendGrid API
What is SendGrid API?
SendGrid is a platform for sending transactional and marketing emails to the customers. It provides scalability, reliability, and deliverability which is an important issue for an organization.
Benefits of using SendGrid API:
- If you are using Nodemailer with Gmail then you can send only certain amount of emails per day.
- Also, there is no need to set up your own SMTP server.
- SMTP doesn’t provide the deliverability, i.e. email may or may not be sent.
Steps to send emails using SendGrid API:
- Setting up an API key:
- Setting up a node.js app:
- Create an empty NPM package using the command. (The –y flag which is passed is used to use the defaults in the generator instead of asking questions)
npm init -y
- Create a file named index.js and add a boiler plate code.
index.js
const http = require( "http" );
const PORT = 3000;
http.createServer((req, res) => {
res.write( "<h1>Hello World!</h1>" );
res.end();
})
.listen(PORT,() => console.log(`Server running on PORT : ${PORT}`));
|
- Now run the code by using node index command and go to 127.0.0.1:3000 link. You will see the output.
- And in console
- Installing SendGrid library: Install the SendGrid library by running the below command
npm i @sendgrid/mail
- Sending emails by using library:
javascript
const http = require( "http" );
const PORT = 3000;
http.createServer((req, res) => {
const mailer = require( "@sendgrid/mail" );
mailer.setApiKey( "<your-api-key>" );
const msg = {
to: [ "youremail@gmail.com" , "your.second.email@gmail.com" ],
from: "noreply@example.com" ,
subject: "Message sent for demo purpose" ,
html:
"<h1>New message from Geeksforgeeks</h1>
<p>Some demo text from geeksforgeeks.</p>
"
};
mailer.send(msg, function (err, json) {
if (err) {
console.log(err);
res.write( "Can't send message sent" );
} else {
res.write( "Message sent" );
}
});
res.end();
})
.listen(PORT, () => console.log(`Server running on PORT : ${PORT}`));
|
Now run the app again by using node index and go to 127.0.0.1:3000 in the browser and check both of your emails, you’ll see an output like below.
Last Updated :
13 Jan, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...