August 6th, 2024

Plunk: The open source email platform

Plunk is an open-source email platform for easy email sending, supporting transactional emails, automations, and broadcasts. It can be self-hosted via Docker, with deployment and contribution guidelines available.

Read original articleLink Icon
FrustrationConfusionSkepticism
Plunk: The open source email platform

Plunk is an open-source email platform designed for easy email sending from applications, serving as a self-hosted alternative to popular services like SendGrid, Resend, or Mailgun. It offers features such as transactional emails, allowing users to send emails directly from their API, automations that can be created based on user actions, and the ability to send newsletters and product updates to large audiences. Plunk can be self-hosted using the `driaug/plunk` Docker image, which is available on Docker Hub, and a comprehensive deployment guide is provided in the documentation. Contributions to the project are encouraged, with guidelines available in the CONTRIBUTING.md file. For further details, users can visit the Plunk GitHub repository.

- Plunk is an open-source email platform for easy email sending.

- It supports transactional emails, automations, and broadcasts.

- Self-hosting is possible via a Docker image from Docker Hub.

- A deployment guide and contribution guidelines are available.

- The project serves as an alternative to commercial email services.

AI: What people are saying
The comments on the article about Plunk raise several concerns and observations regarding self-hosting and email services.
  • Many users question the definition of self-hosting, particularly in relation to services built on AWS SES.
  • There is a call for email APIs to support idempotency to prevent accidental duplicate emails.
  • Some commenters express skepticism about the pricing comparisons made in the article, suggesting they may be misleading.
  • Users are interested in the capabilities of Plunk compared to other email services like SendGrid and Mautic.
  • There is a general desire for more robust features, such as first-party Mail Merge facilities in email providers.
Link Icon 15 comments
By @bgentry - 5 months
Having recently adopted Resend and skimmed a bunch of different email APIs, I'm still waiting to find a single provider whose API supports Stripe-style idempotency [1] so that I can guarantee I don't send the same email through their API multiple times. I'd like to confidently avoid accidentally spamming a user if i.e. a background job retries multiple times due to an unrelated error, or merely from failing to receive the API response that an email was sent/created successfully.

Plunk's API does not appear to offer any such feature: https://docs.useplunk.com/api-reference/transactional/send

Unfortunately neither does Resend, Sendgrid, Postmark, etc.

[1]: https://docs.stripe.com/api/idempotent_requests

By @prmoustache - 5 months
> built on top of AWS SES. [...] can be considered as a self-hosted alternative to services

Someone doesn't really understand self-hosting.

By @nrabulinski - 5 months
Based on the title I thought it was something I could selfhost on my own metal, but the first sentence says

> Plunk is an open-source email platform built on top of AWS SES.

I’m out. That’s everything I needed to know about this project to never look at it again.

By @jmduke - 5 months
(Disclaimer: I run Buttondown, which is an email-inflected product. I also have a comparison guide of various MTAs here — https://buttondown.email/comparison-guides/esps — and will add Plunk!)

Nuances of self-hosting aside, I'd recommend caution looking at that pricing pane.

The disclaimer is:

> Calculated based on the plan that best matches the features of Plunk at 2500 emails per month.

And the author then cites prices of $0.001/email for Plunk and $0.013/email for Sendgrid.

I am neither a user or fan of Sendgrid but that feels like disingenuous anchoring. Sendgrid's free plan is 100/day; if you want to eliminate the free plan entirely and just focus on their cheapest paid option, it's $19.95 for 50K emails — or $0.000399/email, cheaper than Plunk's sticker price.

It's not entirely obvious to me how that $0.013 was even calculated ($0.013 * 2500 = $32.50). Either way, be sure to spot-check against live sticker rates before making a decision there.

By @rapht - 5 months
My understanding was that the main interest of SendGrid, Mailgun et al was precisely that they manage to (more or less) reliably mass send email through the great MS/Google/Proofpoint, where hitting the recipient's mailbox is less than guaranteed if you self-host.
By @v3ss0n - 5 months
You have a wrong understanding of self hosting. SES is not self hostable and require to depend on close source paid service.

So this just makes an opensource email UI not platform

By @driaug - 5 months
All,

Founder of Plunk here. Yes, Plunk is designed to work with AWS SES. I was not the one that made it hard for folks to self-host their own email infrastructure. SES is simply the cheapest and most reliable option out there. Reminder, we are not talking about a private "let's send 10 emails a day" solution. This needs to deliver marketing emails at scale.

Does that mean you have to use SES, no. The code is open-source, swap it out for another provider if you truly believe that you can do it better. I'm open for contributions.

That's the beauty of open-source.

By @egamirorrim - 5 months
Looks kind of cool. When sending a transactional email can I pass loads of custom parameters to be substituted in to placeholders in the template?

I can't see anything in the docs about it.

By @stormbeard - 5 months
How can they call this self-hosted if it’s built on AWS SES?
By @pino82 - 5 months
"You will need an active AWS account with SES enabled to self-host it."

That's an interesting way to see the world...

Nooo, thx........

By @rbarnes01 - 5 months
Great timing, I was just looking into Mautic.

If I have multiple brands, would I need to set up a separate instance for each one?

By @dartharva - 5 months
To this day I don't understand why email providers don't offer first-party Mail Merge facilities themselves.

AFAIK Microsoft is the only one that offers the feature with Word and Outlook in its Office suite, and even that is very restrictive (besides being downright inaccessible from the newer apps).

By @jszymborski - 5 months
Awesome! Any comparison to Postal?
By @v3ss0n - 5 months
Why on top of SES? why not SMTP?
By @vetrom - 5 months
Email platforms are actually two platforms, composition, and delivery.

In the before times, I helped build and was a lead engineer on a team building a delivery platform from scratch, with very minor composition bolted on. (For a time reference, this was before HTML email was even common.)

Some of the lessons from then are very relevant still today. A big one that comes to my mind is 'idempotent' email isn't really possible, because SMTP has no 'send iff message-id has not been received' primitive. You can get to try-send-only-until-2.5.0-code, but even that can be non-trivial engineering. We went to a rather large degree of effort to do that ourselves, since repeat emails are a terrible signal, but I think thats only a marginal benefit to the larger operators.

Idempotent delivery even isn't a direct benefit to advertisers or most sending actors: Primarily, for the majority of the market, they don't really care about duplicated deliveries below some statistical model, since the costs are heavily externalized. Secondarily, since those parts of the industry depend on out-of-band read-indicators, engineering to improve delivery idempotentcy doesn't reflect into a market advantage.

Email's gotten prettier in the two decades since then, but its quality at every point in the stack I think has gotten worse. I routinely have to firewall whole ASNs because the bigger bulk operators (salesforce marketing cloud im looking at you) have no functional mechanism to call out particularly spammy customers, and thats after aggressive greylisting. Sure, the greylisting cuts out >95% of my spam, but the noise level on that last 5% is still horrendous. Forwarding with headers to abuse@ should be a universal paradigm but thats 99% a noop these days.

Given the lesser upside and relative difficulty of the delivery problem, it seems only natural that most of the effort in email platforms these days is in composition. Even if you want to work on the delivery half, with IP reputation, aggressive antispam, and the general enshittification of all things email, the barrier to entry is orders of magnitude higher than it was in 2000. I don't want to say its impossible, but I think you'll have a bad time if you're trying to do it anywhere that doesnt have enough size/inertia or money that email receiving operators choose to negotiate with you rather than preemptively block you.