Skip to content

Repository files navigation

🌊 SendFlow

A modern, self-hosted, local-first email marketing platform.

Stars Forks License Made By


Project Overview 🗺️

SendFlow is a modern, self-hosted, local-first email marketing platform designed for developers and modern teams. It empowers you to connect unlimited SMTP servers, design beautiful email templates, and manage vast subscriber lists directly from your own machine—freeing you from expensive, restrictive SaaS platforms.


SendFlow Dashboard Screenshot

✨ Features

  • Unlimited SMTP Servers: Connect and cycle through multiple SMTP providers (AWS SES, SendGrid, Mailgun) for optimal deliverability.
  • Local-First Architecture: Your subscriber data and templates never leave your machine unless you send an email. All data is securely stored in a local SQLite database.
  • Stunning UI/UX: A highly polished, intuitive interface built with Next.js, Tailwind CSS, and Framer Motion.
  • Analytics & Tracking: Built-in open and click tracking so you can measure campaign performance.
  • 100% Free & Open Source: Run enterprise-grade email marketing completely free of charge.

🚀 Getting Started

Prerequisites

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

Installation

  1. Clone the repository:

    git clone https://github.com/BuildByAman/Sendflow.git
    cd sendflow
  2. Install dependencies:

    npm install
  3. Set up the database:

    npx prisma db push
  4. Start the development server:

    npm run dev

    Your app will be available at http://localhost:3000/.


☁️ Deploying to AWS EC2 (Self-Hosted)

SendFlow is designed to be self-hosted on a standard Virtual Private Server (VPS) like AWS EC2, Hetzner, or DigitalOcean so you can utilize the full power of standard SMTP sockets without restrictions.

Prerequisites

  1. An AWS EC2 instance (Ubuntu 22.04/24.04 recommended).
  2. SSH access to your server.

Step-by-Step Deployment

SSH into your server and run the following commands to install dependencies, build the app, and run it 24/7 with PM2.

# 1. Update system and install Node.js v20, Git, Nginx, and PM2
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs git nginx
sudo npm install -g pm2

# 2. Clone your repository
git clone https://github.com/BuildByAman/Sendflow.git
cd Sendflow

# 3. Install dependencies and setup the database
npm install
npx prisma generate
npx prisma db push

# 4. Create a production build
npm run build

# 5. Start the app with PM2 (Crash Protection)
pm2 start npm --name "sendflow" -- run start
pm2 save
pm2 startup

Exposing to the Internet

By default, the app runs on Port 3000. You should configure Nginx as a reverse proxy to route Port 80 to Port 3000, and use Cloudflare for DNS and SSL.


Built with ❤️ by Amanblaze

About

A modern, self-hosted, local-first email marketing platform. Connect unlimited SMTP servers, design beautiful templates, and own your audience.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages