DEV Community

Joshua Akan-Etuk
Joshua Akan-Etuk

Posted on • Originally published at joshuaakanetuk.com on

How to Send Email Programmatically (with Node.js)

Sometimes you want to send emails at scale: cold leads, hiring managers, transactions. Instead of handwriting each email in Gmail (or any other email client) you can programmatically send emails using Node.js. There are many ways to send emails, but in this tutorial we will use nodemailer . It is suggested to have a Gmail account and send via app password, but it is not required. It is super simple.

Install Nodemailer

First, create a folder/repository on a computer and install nodemailer. Nodemailer is a popular Node.js module that greatly simplifies the process of sending emails from your Node.js applications.

npm install nodemailer
Enter fullscreen mode Exit fullscreen mode

Set Up Your Email Configuration

Create a file, say email.js, and configure the SMTP settings for your email service provider (like Gmail, Outlook, etc.). When using Gmail, you'll need to create an app password.

const nodemailer = require('nodemailer');

// Create a transporter
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

// Define the email options
let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient-email@example.com',
    subject: 'Hello from Node.js',
    text: 'This is a test email sent from Node.js!',
    html: '<b>This is a test email sent from Node.js!</b>' // Optional: to send HTML content
};

// Send the email
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Email sent: ' + info.response);
});

Enter fullscreen mode Exit fullscreen mode

and run the script with:

node ./email.js
Enter fullscreen mode Exit fullscreen mode

Sending emails with code is made simple with packages like nodemailer and can an easy way to scale sending email.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay