Plunk is a free, open source email & communication project written in TypeScript and released under AGPL-3.0. It has 5,474 GitHub stars, 401 forks and 61 open issues, and was last pushed 3 days ago. On this registry it ranks #3 of 13 tracked projects in Email & Communication, with 5 head-to-head comparisons available. It gained 13 stars over the last 6 tracked days.

What is Plunk?

What it is

Plunk is an open-source email platform written in TypeScript and released under the AGPL-3.0 license. It combines transactional email, marketing campaigns, and workflow automation in a single system, and it is positioned as a self-hosted alternative to SendGrid, Resend, and Mailgun. The project lives in the TypeScript and Node.js ecosystem, ships as a Docker image, and is documented at docs.useplunk.com with a community Discord for support.

The concrete problem Plunk solves is the cost and contact-limit structure of commercial email providers. The project advertises $0.001 per email with no contact limits, and it is free to self-host, so teams that send transactional messages and newsletters can run the sending infrastructure themselves instead of paying per-contact or per-volume pricing. It also removes the need to stitch together separate tools for transactional sends, campaigns, and automation, because all three share one contact list, one segment model, and one analytics view.

Key capabilities

  • Transactional email sent directly from an API, with template support and variable substitution.
  • SMTP relay mode, so Plunk can send mail on behalf of any existing tool or framework.
  • Campaigns for newsletters and product updates aimed at large audiences.
  • Workflows with triggers, delays, and conditional logic for advanced automation.
  • Segments built from dynamic filtering to target specific audiences.
  • Contact management with custom fields and full activity history.
  • Analytics covering opens, clicks, bounces, and engagement metrics in real time.
  • Custom domains verified with DKIM and SPF support, plus inbound email processing with custom routing rules.

Who uses it and how

  • Product teams send transactional mail such as receipts and notifications from their application API.
  • Teams already running another framework point that framework at Plunk as an SMTP relay rather than rewriting send logic.
  • Marketing groups run newsletters and product updates as campaigns against a segmented contact list.
  • Growth and lifecycle teams build automated sequences using workflow triggers, delays, and conditional branches.
  • Operators configure inbound routing rules to receive and process incoming mail, and verify their own domains with DKIM and SPF before sending.

Getting started

The README states that the easiest way to self-host is the plunk Docker image, pulled from the GitHub container registry, with a full deployment guide in the documentation at docs.useplunk.com/self-hosting/introduction.

When to use it — and when not to

Plunk is a reasonable fit when the goal is to replace SendGrid, Resend, or Mailgun pricing with a self-hosted system that has no contact limits and a flat per-email cost. A self-hoster must operate the deployment themselves, including the Docker image and the domain verification work for DKIM and SP

project readme (upstream, from github) — read inline

card.png

Plunk

The Open-Source Email Platform

Contributors Build Status License Stars Issues Forks Docker Sponsor Documentation Discord

Introduction

Transactional emails, marketing campaigns, and workflow automation — in one platform. Self-hostable, $0.001 per email, no contact limits.

An open-source, self-hosted alternative to tools SendGrid, Resend or Mailgun.

Features

  • Transactional Emails: Send emails straight from your API with template support and variable substitution
  • SMTP: Use Plunk as an SMTP relay to send emails from any existing tool or framework
  • Campaigns: Send newsletters and product updates to large audiences
  • Workflows: Create advanced automations with triggers, delays, and conditional logic
  • Segments: Organize contacts with dynamic filtering and target the right audience
  • Contact Management: Manage contacts with custom fields and full activity history
  • Analytics: Track opens, clicks, bounces, and engagement metrics in real-time
  • Custom Domains: Verify and send from your own domains with DKIM/SPF support
  • Inbound Emails: Receive and process incoming emails with custom routing rules

Sponsors

Plunk is made possible by the support of our sponsors. If you self-host Plunk, consider supporting via GitHub Sponsors.

Self-hosting Plunk

The easiest way to self-host Plunk is by using the plunk Docker image. You can pull the latest image from Github.

A complete guide on how to deploy Plunk can be found in the documentation.

Community

Contributing

You are welcome to contribute to Plunk. You can find a guide on how to contribute in CONTRIBUTING.md.

Contributors

License

AGPL-3.0 License - see LICENSE for details.

Frequently asked questions

Is Plunk free to use?

Plunk is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Plunk do?

The open-source, affordable email platform

What is Plunk written in?

Plunk is primarily written in TypeScript. Its source is publicly available at https://github.com/useplunk/plunk, and it has 5,474 GitHub stars.