Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ MailForge AI

Smart Bulk Email & Certificate System with AI-Powered Column Detection

License: MIT Node.js React Status PRs Welcome

Features โ€ข Quick Start โ€ข Tech Stack โ€ข Documentation โ€ข Contributing


MailForge AI is a powerful full-stack application for sending personalized bulk emails with automatic certificate generation.
It leverages Google AI for intelligent column detection and offers a seamless, drag-and-drop experience.


โœจ Features

๐Ÿข Core Functionality

  • ๐Ÿ” Secure Authentication - JWT-based login with AES-256 encrypted SMTP credentials
  • ๐Ÿ“Š Smart File Upload - AI detects Name & Email columns automatically from any Excel/CSV
  • โœ๏ธ Dynamic Recipients - Edit, add, remove, and validate recipients in real-time
  • ๐Ÿ“ง Rich Email Editor - WYSIWYG + HTML mode with dynamic variables support (e.g., {{name}}, {{event}})
  • ๐ŸŽ“ Certificate Generator - Auto-attach personalized PDF certificates
  • ๐Ÿ“ฎ Bulk Sending Engine - Optimized for Gmail with intelligent rate limiting (1 email/sec)
  • ๐Ÿ“ˆ Campaign Analytics - Real-time tracking of sent, failed, and pending emails

๐Ÿ›ก๏ธ Technical Highlights

  • AI-Powered: Uses Google Gemini for smart column mapping (with rule-based fallback)
  • Zero-Block Sending: Intelligent queue management to prevent SMTP blocks
  • Military-Grade Encryption: AES-256 encryption for all sensitive credentials
  • Reactive UI: Auto-refreshing status updates and smooth Framer Motion animations
  • Dark Mode: Beautiful, GitHub-inspired dark theme with Space Mono typography

๐Ÿ› ๏ธ Tech Stack

Frontend Backend
React Node.js
Vite Express
TailwindCSS Nodemailer
Framer PDFKit

๐Ÿš€ Quick Start

Prerequisites

๐Ÿ“ฅ Installation

1. Clone the Repository

git clone https://github.com/YOUR_USERNAME/bulk-email.git
cd bulk-email

2. Backend Setup (Terminal 1)

# Open a new terminal for Backend
cd backend
npm install

# Configure Environment
cp .env.example .env
# Edit .env and set your secrets

# Start Backend
npm run dev

3. Frontend Setup (Terminal 2)

# Open a new terminal for Frontend
cd frontend
npm install

# Start Frontend
npm run dev

โš™๏ธ Configuration

Create a .env file in the backend folder:

PORT=5000
JWT_SECRET=your_super_secret_jwt_key_32chars_min
ENCRYPTION_KEY=your_32_character_key_for_aes_encryption

๐Ÿƒโ€โ™‚๏ธ Access the App

With both terminals running, visit:


๐Ÿ“– Usage Guide

1๏ธโƒฃ First Login

  • Navigate to http://localhost:3000
  • Enter ANY email and password.
  • The first user is automatically created as the Admin.

2๏ธโƒฃ Configure SMTP

  • Go to the Settings tab.
  • Enter your Gmail Address.
  • Enter your App Password (Not your login password!).

    ๐Ÿ’ก To get an App Password: Go to Google Account > Security > 2-Step Verification > App Passwords.

3๏ธโƒฃ Create a Campaign

  1. Upload: Drag & drop your Excel/CSV file.
  2. Review: The AI will auto-detect Name/Email columns. Verify and edit if needed.
  3. Compose: Write your email using {{name}} variables.
  4. Certificate: (Optional) Toggle "Attach Certificate" and customize the template.
  5. Send: Click "Send Campaign" and watch the progress in real-time! ๐Ÿš€

๐Ÿ“‚ Project Structure

bulk-email/
โ”œโ”€โ”€ ๐Ÿ“‚ backend/         # Node.js + Express API
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ routes/      # Auth, Upload, Campaign endpoints
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ utils/       # DB helpers, Encryption
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ data/        # JSON Database (users.json, campaigns.json)
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ uploads/     # Temp file storage
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ frontend/        # React + Vite App
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ components/ # UI Components (Editors, Tables)
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ pages/      # Dashboard, Settings
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ context/    # Auth State Management
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ main.jsx      # Entry Point
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ docs/            # Detailed Documentation
โ””โ”€โ”€ ๐Ÿ“„ README.md        # You are here!

๐Ÿ”’ Security Measures

  • Zero-Knowledge Storage: SMTP passwords are encrypted using AES-256-CBC before saving.
  • Secure Sessions: Authentication via JWT (JSON Web Tokens) with auto-expiry.
  • Data Safety: Inputs are sanitized to prevent injection attacks.
  • Rate Control: Built-in throttles to respect Gmail's sending limits.

๐Ÿ“š Documentation

For more detailed information, check out the docs/ folder:


๐Ÿค Contributing

We love contributions! Please read our Contributing Guide to get started.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

Distributed under the MIT License. See LICENSE for more information.


Built with โค๏ธ for hassle-free bulk emailing.

Report Bug โ€ข Request Feature

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages