Skip to content

1900690105/send_mail_package

Repository files navigation

✉️ easy-mailer

A lightweight and developer-friendly email SDK for Node.js that simplifies sending emails with zero-config setup, bulk sending, and prebuilt templates like OTP and welcome emails.


🚀 Features

  • ⚡ Simple & clean API
  • 📤 Bulk email sending with concurrency control
  • 🎨 Prebuilt templates (OTP, Welcome)
  • 🔁 Retry mechanism with backoff
  • ⏱️ Rate limiting to prevent spam blocking
  • 🌐 Multi-provider support (Gmail, SMTP)
  • 🔐 Secure usage with environment variables

📦 Installation

npm install @graminpoly123/easy-mailer

⚙️ Setup

import mailer from "@graminpoly123/easy-mailer";

mailer.init({
  provider: "gmail",
  user: process.env.EMAIL_USER,
  pass: process.env.EMAIL_PASS,
});

✉️ Send a Simple Email

await mailer.send({
  to: "user@gmail.com",
  subject: "Hello 🚀",
  text: "This is a test email",
});

🔢 Send OTP Email

await mailer.sendOTP({
  to: "user@gmail.com",
  code: 123456,
});

📤 Bulk Email Sending

await mailer.bulkSend({
  to: ["a@gmail.com", "b@gmail.com"],
  subject: "Bulk Email 🚀",
  template: "welcome",
  data: { name: "User" },
  concurrency: 2,
});

🎨 Using Templates

await mailer.send({
  to: "user@gmail.com",
  subject: "Welcome",
  template: "welcome",
  data: { name: "Nikhil" },
});

🌐 SMTP Provider Example

mailer.init({
  provider: "smtp",
  host: "smtp.yourserver.com",
  port: 587,
  user: "your-email",
  pass: "your-password",
});

🔐 Environment Variables (Recommended)

Create .env.local:

EMAIL_USER=your@gmail.com
EMAIL_PASS=your_app_password

⚠️ Important Notes

  • Use Gmail App Password, not your normal password
  • This package works only on backend (Node.js)
  • Do not expose credentials on frontend

🧠 How It Works

  • Uses a provider system (Gmail / SMTP)
  • Handles bulk emails with concurrency + rate limiting
  • Retries failed emails automatically
  • Supports dynamic templates

⚡ Quick Demo

import mailer from "@graminpoly123/easy-mailer";

mailer.init({
  user: process.env.EMAIL,
  pass: process.env.PASS,
});

await mailer.sendOTP({
  to: "user@gmail.com",
  code: 123456,
});

📈 Future Improvements

  • SendGrid / Mailgun support
  • Email tracking (open/click)
  • Dashboard for logs & analytics
  • Queue system with Redis

🏷️ Keywords

email, nodemailer, nodejs, bulk-email, smtp, gmail, otp, email-templates


👨‍💻 Author

Built with ❤️ by Nikhil Vitthal Kandhare and help by Saraswati Adkine


✉️ easy-mailer

npm version npm downloads license node version

A lightweight and developer-friendly email SDK for Node.js...

GitHub stars

GitHub issues

⭐ Support

If you found this useful, please ⭐ the repo and share it!

Releases

No releases published

Packages

 
 
 

Contributors