DEV Community

Cover image for Email Sender Service
Yadab Sutradhar
Yadab Sutradhar

Posted on

Email Sender Service

NPM GitHub

๐Ÿ“ง Description

A simple Node.js application that sends emails using the nodemailer package. This service ensures smooth email delivery with minimal setup.


๐Ÿš€ Features

  • Lightweight and customizable codebase.
  • Designed to be beginner-friendly.
  • Easy to configure.
  • Helpful for job seekers to send emails to hiring managers and recruiters with bulk/batch for free!

๐Ÿ› ๏ธ Prerequisites

Before starting, make sure you have the following installed on your system:

  • Node.js (v18 or higher)
  • npm or yarn

Usage

Step 1 - Installation

npm install job-email-sender
Enter fullscreen mode Exit fullscreen mode
yarn add job-email-sender
Enter fullscreen mode Exit fullscreen mode

Step 2 - Configuration

Add this code to your program file-

const emailConfig = {
  service: 'your-email-service', // Example- `gmail`, `yahoo` etc.
  user: 'your-email@example.com', // your email address (sender/from)
  pass: 'your-email-password', // your app password for your email account
  name: 'your-display-name'
};
Enter fullscreen mode Exit fullscreen mode

Notes:

  1. Replace placeholders like your-email@example.com, your-display-name, with your actual details.
  2. Use gmail, yahoo etc. in service placeholder. Whereever is your actual email account in.
  3. For pass, this is not your email login password. It is a app password which can be collected from your email account. For details follow-

Enable App Passwords:

Yahoo : Follow instructions to get app password for yahoo mail.

Gmail : Follow Google App Password to get app password.

Other Services : Follow their own instructions to get app password.


Step 3 - Apply

For JavaScript Users:

const { EmailSender } = require('job-email-sender')
Enter fullscreen mode Exit fullscreen mode

For TypeScript Users:

import { EmailSender } from 'job-email-sender'
Enter fullscreen mode Exit fullscreen mode

Construct & send

const emailSender = new EmailSender(emailConfig)

const contacts = [{ email: 'receiver-name@example.com', name: 'Don' }]
const message = 'Hello ${name}, this is your email content!' // you can add html here. Example - 'Hello ${name}, <p><b>this</b> is a test email!</p>'
const subject = 'This is Your Email subject'

emailSender
  .sendEmails(contacts, message, subject)
  .then((message) => {
    console.log(message)
  })
  .catch((error) => {
    console.error(error)
  })
Enter fullscreen mode Exit fullscreen mode

[!Note] Remember !
This package is primarily for backend usage only. Because it is node.js based and that doesn't run on browser.
If you want to use this on frontend (browser), you need to run your frontend on server (server-side rendering) using express.

[!Note]
Managing attachments - Coming soon...

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)