
4.7k stars · AGPL-3.0 · v1.9.8 (2026-08-30) · Track this in Rising ↗
Self-hosted alternative to Resend, SendGrid and Postmark — the sending layer Listmonk and Mautic both assume.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 26 Oct 2026, 2 days before this check.
Latest release v1.10.0 on 26 Oct 2026.
Public since March 2024, a little over 2 years.
4,760 stars and 444 forks.
18 commits and 7 new issues in the last 90 days.
49 contributors. 18 pull requests merged in 90 days.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 18.
▶Repo detailsthe review · specs · pros & cons · install
What it does
useSend is a self-hosted alternative to paid email services such as Resend, SendGrid and Postmark. It gives an application a simple way to ask for an email to be sent, and it hands the message to Amazon SES for delivery. A programming interface and ready-made code libraries cover the asking; a web screen covers the looking. It records what happened to each message: delivered, opened, clicked, bounced, or marked as spam. It handles templates, contact lists and scheduled sends, and it can be used as the delivery route for other software through plain SMTP, the standard language for passing email between machines. Version 1.9.8 arrived on 30 August 2026. It does not deliver the mail itself, so Amazon SES does the sending, and it is not a marketing campaign builder.
Why it matters
Who it suits. It suits a product that sends email to individual people, one message at a time, rather than one newsletter to a list. It suits anyone whose paid email bill has grown faster than the product, because Amazon SES costs roughly ten cents per thousand messages. Skip it if the need is a newsletter with subscriber management, and skip it if nobody wants to own the delivery setup at all.
Verdict. Worth half a day, and most of that is Amazon rather than this software: a new SES account starts restricted and getting out of that state takes a short application. Two cautions. The licence is AGPL-3.0, which is fine for running it in a business and needs reading carefully before building it into something sold on. And email delivery still depends on getting the boring domain records right, which Edition 8's checkdmarc checks. Edition 2 covered knadh/listmonk and Edition 10 covered Mautic, which both write campaigns and assume something else delivers them. Edition 15 covered postalserver/postal, the heavier answer that is a full mail server of its own.
Summary (Key Points)from the README
Key features
- Amazon SES sending: Uses Amazon SES under the hood to send emails, offered as a reliable and cheap alternative.
- Dashboard: Tracks delivered, opened, clicked and bounced emails.
- Transactional and marketing email: Supports transactional mail as well as bulk newsletters and product updates, with subscriptions handled by useSend.
- Contact management: Lets you manage contacts for bulk email sending.
- APIs: Offers a REST API and a Schedule API, plus webhook support.
- SMTP support: Can send mail over SMTP.
- Domain setup: Lets you add sending domains.
- Email editor: Includes a built-in editor that converts content to HTML via jsx-email, inspired by maily.to and built on tiptap.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| Local development | Follow the detailed local development guide | Moderate: run the project from source |
| Docker | Docker container from DockerHub or GitHub Container Registry, plus environment variables for database, Redis, AWS and so forth | Moderate: configure env vars and run the container |
| Self-hosting | Own infrastructure, following the self-hosting guide | Higher: set up the full stack yourself |
| Railway | A Railway account and the Railway self-hosting guide or direct deploy button | Lowest: described as the quickest way to spin up useSend |
Important
- Beta status: The project says it is currently in beta, and the README describes the source code release as being opened for public beta.
- Email only: Only email is supported for now; SMS, push notifications and WhatsApp are planned but not available.
- Missing features: Inbound email and BYO AWS credentials are not yet implemented.
- AWS dependency: Sending runs on Amazon SES, so an AWS setup is needed for delivery.
- Required environment variables: The Docker container needs variables for the database, Redis, AWS and other services before it runs.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- Sending through Amazon SES costs about ten cents per thousand emails, far below the usual monthly plans.
- The record of every message stays in the database it was sent from, including bounces.
- A web screen and a programming interface, so nothing has to be read out of a database by hand.
- Licensed AGPL-3.0. Read it before building it into a product that is sold.
- It depends on Amazon SES, and a new SES account needs a short application to leave its restricted mode.
- Delivery still needs the domain records done correctly, which is separate work.
mkdir -p ~/usesend && cd ~/usesend curl -fsSL https://raw.githubusercontent.com/usesend/useSend/main/docker-compose.yml -o docker-compose.yml # Read the file, then set the values in an .env beside it: # DATABASE_URL, NEXTAUTH_SECRET, AWS_ACCESS_KEY, AWS_SECRET_KEY, AWS_DEFAULT_REGION docker compose up -d




