A Mailgun alternative that costs less at every volume we checked.
Samva costs less than Mailgun at every volume we checked, and replies thread to the email they answer instead of passing through inbound routes. Need your own IP? Samva sells a dedicated IP as an add-on.
Who should switch, and who should stay.
- You pay for Foundation to get more than one domain or longer logs.
- You want replies threaded to the email they answer, not routed through inbound routes.
- You send through SMTP. Mailgun offers SMTP; Samva sends through its API.
What a month costs on each.
| Provider | 10k/mo | 50k/mo | 100k/mo | 500k/mo |
|---|---|---|---|---|
| Samva | $5Starter | $19Growth | $44Growth plus 50,000 extra at $0.50 per 1,000 | $199*Scale plus 200,000 extra at $0.50 per 1,000 |
| Mailgun | $15Basic, 10,000 emails | $35Foundation, 50,000 emails | $75Foundation, 100,000 emails | $400Scale, 500,000 emails |
- * Needs the spend limit raised from its $50 default.
Mailgun lists tiers up to 2.5M emails a month and includes one dedicated IP from Foundation 100k. Email validation is billed separately.
What each one ships.
Send and receive
How you send email, build templates, and bring replies back.
| Capability | Samva | Mailgun |
|---|---|---|
| Send API | Typed REST API with an OpenAPI spec | RESTful API and SMTP; batches up to 1,000 emails per call |
| Templates | Versioned, Git-backed TSX templates with rollback and publish history | Email templates on every plan |
| Inbound email | Replies thread to the email they answer, delivered as a signed message.received webhook | Inbound routes: 1 on Free, 5 on Basic, full routing on Foundation and Scale |
- Send API
Samva
Typed REST API with an OpenAPI spec
Mailgun
RESTful API and SMTP; batches up to 1,000 emails per call
- Templates
Samva
Versioned, Git-backed TSX templates with rollback and publish history
Mailgun
Email templates on every plan
- Inbound email
Samva
Replies thread to the email they answer, delivered as a signed message.received webhook
Mailgun
Inbound routes: 1 on Free, 5 on Basic, full routing on Foundation and Scale
Delivery and visibility
How you follow delivery, observe engagement, and protect your sending.
| Capability | Samva | Mailgun |
|---|---|---|
| Webhooks | Signed Standard Webhooks events, with backoff and up to 8 automatic delivery attempts | Webhooks for accepted, delivered, temporary_fail, permanent_fail, opened, clicked, unsubscribed, and complained |
| Opens and clicks | Samva's own open pixel and tracked links, signed message.opened and message.clicked webhooks, and a timeline in the dashboard and API | Opened and clicked webhooks, plus logs and analytics |
| Deliverability | Generates DKIM and SPF records and checks your DMARC policy; bounces and complaints suppressed automatically | SPF, DKIM, and DMARC; validation billed separately; one dedicated IP included from Foundation 100k |
- Webhooks
Samva
Signed Standard Webhooks events, with backoff and up to 8 automatic delivery attempts
Mailgun
Webhooks for accepted, delivered, temporary_fail, permanent_fail, opened, clicked, unsubscribed, and complained
- Opens and clicks
Samva
Samva's own open pixel and tracked links, signed message.opened and message.clicked webhooks, and a timeline in the dashboard and API
Mailgun
Opened and clicked webhooks, plus logs and analytics
- Deliverability
Samva
Generates DKIM and SPF records and checks your DMARC policy; bounces and complaints suppressed automatically
Mailgun
SPF, DKIM, and DMARC; validation billed separately; one dedicated IP included from Foundation 100k
Integration tools
The SDKs and tools you can build with.
| Capability | Samva | Mailgun |
|---|---|---|
| SDKs | TypeScript SDK with async/await and Effect-native interfaces | SDKs across multiple languages |
- SDKs
Samva
TypeScript SDK with async/await and Effect-native interfaces
Mailgun
SDKs across multiple languages
Volume and billing
What you can send for free and how extra volume is billed.
| Capability | Samva | Mailgun |
|---|---|---|
| Free plan | 500 emails a month, up to 100 a day | 100 emails a day, with 1-day log retention |
| Past the allowance | Metered at $0.50 per 1,000 on paid plans, up to a spend limit you set | Metered per 1,000, from $1.80 on Basic; rates fall on larger tiers |
- Free plan
Samva
500 emails a month, up to 100 a day
Mailgun
100 emails a day, with 1-day log retention
- Past the allowance
Samva
Metered at $0.50 per 1,000 on paid plans, up to a spend limit you set
Mailgun
Metered per 1,000, from $1.80 on Basic; rates fall on larger tiers
Moving from Mailgun.
Add your domain and publish the DKIM and SPF records Samva generates next to the old provider's. Both can send while you switch.
Swap the send call.
Mailgun Node SDK const formData = require("form-data"); const Mailgun = require("mailgun.js"); const mailgun = new Mailgun(formData); const mg = mailgun.client({ username: "api", key: process.env.MAILGUN_API_KEY }); await mg.messages.create("mg.example.com", { from: "Acme <mailgun@mg.example.com>", to: ["ada@example.com"], subject: "Your receipt", html: "<p>Thanks for your order.</p>", });Samva await samva.messages.send({ from: { email: "orders@example.com" }, to: [{ email: "ada@example.com" }], channel: "email", email: { subject: "Your receipt", html: "<p>Thanks for your order.</p>", }, });Map webhooks. Samva sends signed events for sent, delivered, bounced, complained, failed, and received, with received going to the endpoint your domain's receiving route names. Opens and clicks arrive as message.opened and message.clicked, and unsubscribes as contact.unsubscribed.
Mailgun event Samva event delivered message.delivered permanent_fail message.bounced complained message.complained opened message.opened clicked message.clicked unsubscribed contact.unsubscribed Recreate templates as versioned templates, or send your existing HTML inline while you move.
Keep the old provider's suppression list in your app and filter against it. Samva cannot import it.
Turn on receiving if you want replies back.
What does not move: templates, the suppression list, and message history.
The full walkthrough: Migrate Mailgun inbound routes.
Mailgun's log retention is 1 day on Free and Basic, 5 days on Foundation, and 30 days on Scale. That matters the first time you debug a delivery problem from last week, so price the tier that keeps logs as long as you need.
Questions before you switch.
What do I get for free?
Mailgun's free plan allows 100 emails a day, with 1-day log retention and one inbound route, checked Sep 29, 2026. Samva's free plan is 500 emails a month, up to 100 a day.
What does 50,000 emails a month cost?
Checked Sep 29, 2026: Mailgun's Foundation plan includes 50,000 emails for $35 a month. Samva's Growth plan includes 50,000 emails for $19 a month.
Which Mailgun plans include a dedicated IP?
Mailgun's pricing page says one dedicated IP is included with Foundation 100k and Scale, and that access starts at 50,000 emails. Samva lists a dedicated IP as an add-on on its pricing page.
Do Mailgun's opened, clicked, and unsubscribed webhooks have a Samva equivalent?
Yes. Samva sends signed message.opened and message.clicked webhooks for tracked sends, and contact.unsubscribed when a recipient unsubscribes from a topic, alongside sent, delivered, bounced, complained, failed, and received.
Related Resources
Send your first email free.
500 emails a month, no card. When you outgrow it, the bill stays predictable.
Sources, verified September 29, 2026