Mailgun alternatives
Four email services a developer leaving Mailgun would actually consider, weighed on inbound mail, signed webhooks, agent tooling and what an extra thousand emails costs. Every figure was read from the vendor's own page on 2026-09-29.
- Mailgun
- Mailgun is an email API from Sinch with six official SDKs, an SMTP relay, rule-based inbound routing and signed webhooks, sold on plans whose log retention grows with the tier.
- What this page is
- A list of four email services that would take the mail Mailgun sends for you today, compared on the same rows and against the same sources. Rasket is one of them, and we build it — so every claim we make about ourselves is linked to a Rasket page, and every claim about anybody else is linked to theirs.
Key takeaways
- Extra emails, per 1,000 — Rasket: $0.60. Mailgun: From $1.80 on Basic.
- Entry paid plan — Rasket: $20 a month for 50,000 emails. Mailgun: $15 a month for 10,000 emails.
- Free plan — Rasket: 3,000 emails a month, 100 a day, 3 domains. Mailgun: 100 emails a day.
- Inbound email — Rasket: Yes. Mailgun: 1 route on Free, 5 on Basic, full routing from Foundation.
- Official SDKs — Rasket: Coming soon. Mailgun: Ruby, PHP, Python, Java, Go and Node.js.
Why developers look for a Mailgun alternative
Three reasons that are rows of the table below rather than opinions. Each one is something Mailgun publishes about itself.
- Free and Basic keep one day of log retention, and thirty days needs the Scale plan.
- Extra email starts at $1.80 per thousand on Basic, against $0.60 on Rasket.
- The pricing page does not say whether marketing or campaign sending is included, so it is not something you can check before you buy.
None of those is a reason on its own. They are reasons if they describe what you are doing: a product past its free tier, a support conversation longer than the history you can read, a campaign you would rather not buy twice.
Four alternatives to Mailgun
Rasket is first because we build it, and you should read the table before you take our word for the order.
1.Rasket
Yes, on retention and price in particular. Mailgun keeps one day of logs on its Free and Basic plans and thirty only at Scale; every self-serve Rasket plan keeps thirty. Extra email starts at $1.80 per thousand on Basic against $0.60 on Rasket. What Mailgun has and Rasket does not is four more SDK languages and rule-based inbound routing.
Best for: Developers who want sending, receiving and campaigns behind one API key
2.MailerSend
MailerSend is an email API with six official libraries, an SMTP relay, signed webhooks and an MCP server, sold on small plans that start below every other entry price here. Free plan: 500 emails a month, 1 domain, 1 template. Extra emails, per 1,000: $1.30 on Starter and Professional.
Best for: Small projects that want the cheapest paid plan on this list
3.Brevo
Brevo is a marketing platform with a transactional email API attached: an SMTP relay, three official SDKs, secured webhooks, inbound parsing, idempotency keys for batch sends and an MCP server over its developer documentation. Free plan: Not published. Extra emails, per 1,000: Not published.
Best for: Teams who want marketing, CRM and transactional email from one vendor
4.Resend
Resend is an email API with a dashboard, nine official SDKs and a documentation set written for agents as well as people; its transactional plans and its marketing plans are priced apart. Free plan: 3,000 emails a month, 100 a day, 3 domains. Extra emails, per 1,000: $0.90.
Best for: Teams writing their emails as React components
The four, row by row
The same rows for all four, with the source of every cell numbered at the foot of the page.
| Criterion | Rasket | MailerSend | Brevo | Resend |
|---|---|---|---|---|
| Sending and receiving | ||||
| Inbound email | Yes 1Receive at your own domain on every plan, delivered as a signed webhook. | On the Starter and Professional plans 13 | Yes 18Inbound parse webhooks, documented in their developer guide. | Yes 27The pricing page lists inbound emails under "All plans include". |
| Transactional and campaigns on one plan | Yes 2A campaign travels the same send pipeline as a password reset, on the same plan and the same key. | Not published 13 | Marketing campaigns and transactional email are both in the API 19 | Marketing email is priced as a separate plan 27 |
| Idempotent sends | Yes 4An Idempotency-Key is remembered for 24 hours. | Not published 15 | For batch transactional email 21 | Yes 30 |
| Versioned templates | Yes 5Published versions with typed variables; every send records the version it used. | Not published 15 | Not published 19 | Yes 31Templates carry a version history. |
| Automations | Yes 6 | Not published 13 | Workflows, started by events their tracker records 22 | Yes 32 |
| SMTP relay | Yes 11smtp.rasket.com on 465 or 587, with an API key as the password. Each message is an ordinary API send. | Yes 13 | Yes 26 | Yes 35 |
| DKIM key size | 2048-bit, one key per domain 12 | Not published 15 | Not published 19 | Not published 36 |
| Webhooks and developer tools | ||||
| Signed webhooks | Yes 3 | Yes 14A Signature header holding an HMAC-SHA256 of the body, keyed by a per-webhook signing secret. | Yes 20Their secured webhooks guide. | Yes 28 |
| Replay a webhook event | Yes 3Send the event again from the dashboard or the API; a replay carries the identical payload under the same event id. | Not published 14 | Not published 19 | Yes 29 |
| MCP server | Yes 7An HTTP MCP server with seven toolsets, plus a setup skill. | Yes 16 | Yes 23 | Yes 33A hosted server and a self-hosted one, both listed in their index for agents. |
| Markdown docs and llms.txt | Yes 8Markdown at every docs URL, with llms.txt and llms-full.txt. | An llms.txt index 17The index is published; a .md suffix on a help URL answered 404 on the day. | Yes 19A .md suffix on a developer documentation URL returns Markdown, and llms.txt indexes them. | Yes 34Every docs URL answers to a .md suffix, and llms.txt indexes them. |
| Official SDKs | Coming soon 9Node.js and Python clients are on the way. Today, every language sends over the REST API. | PHP, Node.js, Go, Python, Ruby and Java 15 | Node.js, Python and PHP 24 | Node.js, PHP, Python, Ruby, Go, Java, Rust, Elixir and .NET 34 |
| Plans and pricing | ||||
| Free plan | 3,000 emails a month, 100 a day, 3 domains 10 | 500 emails a month, 1 domain, 1 template 13 | Not published 25Their pricing page builds its plan table in the browser; nothing could be read from the page itself on the day. | 3,000 emails a month, 100 a day, 3 domains 27 |
| Entry paid plan | $20 a month for 50,000 emails 10 | $7 a month for 5,000 emails 13The Hobby plan, paying monthly; the page opens on yearly billing, where the same plan is $5.60 a month. | Not published 25Same page, same reason. | $20 a month for 50,000 emails 27 |
| Extra emails, per 1,000 | $0.60 10The rate steps down to $0.25 as the Scale ladder climbs. | $1.30 on Starter and Professional 13The page does not state a rate for the entry Hobby plan. | Not published 25Same page, same reason. | $0.90 27 |
| Data retention | 30 days on the self-serve plans 10Custom retention on a Custom plan. | 1 day on Free and Hobby, 7 on Starter, 30 on Professional 13 | Not published 25 | 30 days on the free plan 27The pricing page does not state a retention window for the paid plans. |
| Dedicated IP | $30 a month per address on Scale 10Recommended above 5,000 emails a day; the choice is the customer's. | An add-on above 100,000 emails a week 13The page does not state its price. | Not published 25 | $30 a month, above 3,000 emails a day 27 |
| Best for | Developers who want sending, receiving and campaigns behind one API key | Small projects that want the cheapest paid plan on this list | Teams who want marketing, CRM and transactional email from one vendor | Teams writing their emails as React components |
Moving your domain off Mailgun
Add the domain in Rasket, publish the DKIM, SPF and DMARC records we generate, and leave Mailgun sending until verification passes. Then move the call to POST /emails with the key in an Authorization header, or, for an app on their SMTP service, swap the postmaster login for the username rasket and a Rasket key and point it at smtp.rasket.com. Inbound routes become a receiving domain and one signed webhook, with the matching you were expressing as rules written in your handler instead; your existing webhook verification is replaced by checking Rasket's signature, and you can replay an event from the dashboard while you get it right.
Nothing about a verified sending domain is exclusive, so both providers can hold it while you move. Send a small share of your mail through the new one first, watch the delivery and bounce events, and cut the rest over once the numbers look like the old ones.
Frequently asked questions
What is the best Mailgun alternative for developers?
We build Rasket, so read this as a disclosed preference and not a verdict. Yes, on retention and price in particular. Mailgun keeps one day of logs on its Free and Basic plans and thirty only at Scale; every self-serve Rasket plan keeps thirty. Extra email starts at $1.80 per thousand on Basic against $0.60 on Rasket. What Mailgun has and Rasket does not is four more SDK languages and rule-based inbound routing.
Is there a free Mailgun alternative?
Rasket: 3,000 emails a month, 100 a day, 3 domains. MailerSend: 500 emails a month, 1 domain, 1 template. Brevo: Not published. Resend: 3,000 emails a month, 100 a day, 3 domains. Each figure is from that vendor's own pricing page on 2026-09-29.
Which Mailgun alternative includes inbound email?
Rasket: Yes. MailerSend: On the Starter and Professional plans. Brevo: Yes. Resend: Yes. Inbound means receiving mail at your own domain, not just sending from it.
Which Mailgun alternative works with AI agents?
Rasket: Yes. MailerSend: Yes. Brevo: Yes. Resend: Yes. An MCP server is what lets an assistant call the API directly; Markdown docs and llms.txt is the other half, and it reads: Rasket: Yes. MailerSend: An llms.txt index. Brevo: Yes. Resend: Yes.
How do I move my domain off Mailgun?
Add the domain in Rasket, publish the DKIM, SPF and DMARC records we generate, and leave Mailgun sending until verification passes. Then move the call to POST /emails with the key in an Authorization header, or, for an app on their SMTP service, swap the postmaster login for the username rasket and a Rasket key and point it at smtp.rasket.com. Inbound routes become a receiving domain and one signed webhook, with the matching you were expressing as rules written in your handler instead; your existing webhook verification is replaced by checking Rasket's signature, and you can replay an event from the dashboard while you get it right.
Sources
- 1Rasket — https://www.rasket.com/features/receiving. Read 2026-09-16.
- 2Rasket — https://www.rasket.com/features/broadcasts. Read 2026-09-16.
- 3Rasket — https://www.rasket.com/features/webhooks. Read 2026-09-16.
- 4Rasket — https://www.rasket.com/docs/idempotency. Read 2026-09-16.
- 5Rasket — https://www.rasket.com/features/templates. Read 2026-09-16.
- 6Rasket — https://www.rasket.com/features/automations. Read 2026-09-16.
- 7Rasket — https://www.rasket.com/features/agents. Read 2026-09-16.
- 8Rasket — https://www.rasket.com/llms.txt. Read 2026-09-16.
- 9Rasket — https://www.rasket.com/docs/sdk/node. Read 2026-09-16.
- 10Rasket — https://www.rasket.com/pricing. Read 2026-09-16.
- 11Rasket — https://www.rasket.com/docs/smtp. Read 2026-09-29.
- 12Rasket — https://www.rasket.com/features/domains. Read 2026-09-16.
- 13MailerSend — https://www.mailersend.com/pricing. Read 2026-09-16.
- 14MailerSend — https://developers.mailersend.com/api/v1/webhooks.html. Read 2026-09-16.
- 15MailerSend — https://developers.mailersend.com/. Read 2026-09-16.
- 16MailerSend — https://developers.mailersend.com/mcp. Read 2026-09-16.
- 17MailerSend — https://www.mailersend.com/llms.txt. Read 2026-09-16.
- 18Brevo — https://developers.brevo.com/docs/inbound-parse-webhooks. Read 2026-09-16.
- 19Brevo — https://developers.brevo.com/llms.txt. Read 2026-09-16.
- 20Brevo — https://developers.brevo.com/docs/secured-webhooks. Read 2026-09-16.
- 21Brevo — https://developers.brevo.com/docs/heterogenous-versions-batch-emails. Read 2026-09-16.
- 22Brevo — https://developers.brevo.com/guides/track-website-activity. Read 2026-09-16.
- 23Brevo — https://developers.brevo.com/docs/mcp-protocol. Read 2026-09-16.
- 24Brevo — https://developers.brevo.com/docs/api-clients. Read 2026-09-16.
- 25Brevo — https://www.brevo.com/pricing/. Read 2026-09-16.
- 26Brevo — https://developers.brevo.com/docs/smtp-integration. Read 2026-09-16.
- 27Resend — https://resend.com/pricing. Read 2026-09-16.
- 28Resend — https://resend.com/docs/webhooks/verify-webhooks-requests. Read 2026-09-16.
- 29Resend — https://resend.com/docs/webhooks/retries-and-replays. Read 2026-09-16.
- 30Resend — https://resend.com/docs/dashboard/emails/idempotency-keys. Read 2026-09-16.
- 31Resend — https://resend.com/docs/dashboard/templates/version-history. Read 2026-09-16.
- 32Resend — https://resend.com/docs/dashboard/automations/introduction. Read 2026-09-16.
- 33Resend — https://resend.com/llms.txt. Read 2026-09-16.
- 34Resend — https://resend.com/docs/llms.txt. Read 2026-09-16.
- 35Resend — https://resend.com/docs/send-with-smtp. Read 2026-09-16.
- 36Resend — https://resend.com/docs/dashboard/domains/introduction. Read 2026-09-16.
Last checked 2026-09-29. Prices and plan contents change. Every figure above was read from the linked page on the date beside it; if one has moved since, the page it came from is the one to trust.
Try one of them against your own mail
Verify a domain, send a test, and compare the delivery events against what you get today.