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...

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

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