How To Send Email With Attachment Using Node.js

Websolutionstuff | Aug-09-2021 | Categories : Node.js

Hello Guys,

In this tutorial we will see how to send email with attachment using node.js app. In this tutorial we will perform send mail with attachment in node.js using nodemailer module. The nodemailer module makes it easy to send emails in node.js app.

With the help of the nodemailer example, we will sending email with attachment with basic HTML content. NodeMailer is very famous and easy to use for sending email in node.js app.

You can use Mailtrap or Gmail accounts. In this tutorial, we will learn how to send email with attachment using NodeMailer with Mailtrap accounts, you can use whichever you want to.

Follow step-by-step to implement how to send email with attachment using nodemailer and mailtrap in node.js.

 

 Step 1 : Create Node Application

In this step create node application using below commands.

mkdir send_email_with_attachment_in_nodejs

cd send_email_with_attachment_in_nodejs

npm init

 

 

 Step 2 : Install Nodemailer

In this step install the NodeMailer module using below command

npm install nodemailer

 After you have downloaded the Nodemailer module, you can include the module in any application:

const nodemailer = require('nodemailer');

Nodemailer’s API is simple and requires following points:

  1. Create a Transporter object
  2. Create a MailOptions Object
  3. Use the Transporter.sendMail method

 

 Step 3 : Setup Mailtrap Account

If you don’t have a Mailtrap account, follow these steps:

  • Create Mailtrap account
  • Create new inbox
  • Get your credentials

 If already have a Mailtrap account then integrate nodemailer in SMTP Setings like below screenshots.

Mailtrap Integration

 

 

 Step 4 : Sending Email with Attachment

In this step we can send emai with attachment. So, make sure your configurarion before sending email.

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  host: "smtp.mailtrap.io",
  port: 2525,
  auth: {
    user: "your_username",
    pass: "******"
  }
});

var mailOptions = {
  from: '[email protected]',
  to: '[email protected]',
  subject: 'How To Send Email With Attachment Using Node.js - Websolutionstuff',
  html: '<h1>Hello, This is websolutionstuff !!</h1><p>This is test mail..!</p>',
  attachments: [
        { 
            filename: 'how_to_add_summernote_editor_in_laravel.png',
            path: './uploads/how_to_add_summernote_editor_in_laravel.png'
        }
    ]
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

attachments – An array of attachments’ objects. Attachments can be used for add pdf, images, documents like csv, excel, and many more.

 

Step 5 : Run index.js file

run index.js using below code :

node index.js

After run this command you will get output like below screenshot.

 

How To Send Email with Attachment using Node.js

 


 

You may also like: 

Recommended Post
Featured Post
How to Create Select2 Dropdown in Laravel 10 Livewire
How to Create Select2 Dropdown...

Hello developers! Today, we're diving into the wonderful world of Laravel 10 and Livewire to create a Select2 d...

Read More

Feb-16-2024

Laravel 10: New Features And Release Date
Laravel 10: New Features And R...

In our ever-changing digital landscape, staying ahead of the competition is essential. And that's precisely what we&...

Read More

Jan-11-2023

Laravel 11 Install Yajra Datatable Example
Laravel 11 Install Yajra Datat...

In this tutorial, we'll explore an example of installing Yajra Datatable in Laravel 11. In every project, it's e...

Read More

Apr-10-2024

How To Add jQuery Datatable Column Filter Dropdown On Top
How To Add jQuery Datatable Co...

In this article, we will see how to add a jquery datatable column filter dropdown on top. Here, we will learn how t...

Read More

Jan-19-2023