The Best: A full EU stack with a data residency commitment, and 25 SMTP headers
The Worst: One day of log retention on Free and Basic
Mailgun invented the category. It was founded in 2010 as, in its own words, “a response to the lack of developer-friendly, API-based email services”, went through Y Combinator in 2011, was bought by Rackspace in 2012, and has been part of Sinch since 2021 in a deal that valued its parent group at roughly $1.9 billion. Sixteen years later it is still the most technically capable relay in this family and it is no longer the one we would recommend first.
Two things are genuinely best in class. The EU story is the strongest here: a full parallel stack at smtp.eu.mailgun.org and api.eu.mailgun.net, with the commitment that “Message data never leaves the region in which it is processed.” One reviewer names it as the reason he stays: “It gives me the options, to keep my mail communication within the EU borders, which is key in my field working with EU businesses.” Resend documents no EU host at all. And the SMTP control surface is unmatched: around twenty-five X-Mailgun headers let you set tags, choose a sending IP or pool, require TLS, run in test mode, schedule delivery, and pass template variables, all without leaving SMTP.
Two things are worse than anywhere else in this family. Log retention on the Free and Basic plans is one day. Resend gives thirty days on its free plan. And price is raised in 29 of the 75 rows we counted, 39 percent, the second highest share we have measured anywhere after HubSpot. The complaint has a direction: “Mailgun’s pricing has only gotten pricier and pricier with time.”
And there is a risk you should price before you migrate. 16 of those 75 rows mention flagging, blocking, verification or suspension. The sharpest is a one-star review from a telecom chief executive: “Their automated system falsely flagged my SaaS, disabling all transactional emails without warning. Support was extremely slow making Mailgun completely unreliable for any business.” We found the same pattern, in the same words, on SendGrid.
Choose Mailgun if you need European data residency or deep SMTP-level control, and budget for a paid tier from day one so you have more than a day of logs. If neither of those is your requirement, Resend gives you a better developer experience and SMTP2GO gives you far better support, both for less friction.
| Hostname, US | smtp.mailgun.org |
|---|---|
| Hostname, EU | smtp.eu.mailgun.org |
| Ports | 25, 465, 587, 2525. Mailgun: “Port 465 requires a TLS connection. Ports 25, 587, and 2525 require a non-TLS connection but may be upgraded to TLS using the STARTTLS command.” |
| Recommended | 587. “Some ISPs are blocking or throttling SMTP port 25. Using port 587 is recommended.” And for one specific case: “Google Compute Engine allows port 2525 for SMTP submission.” |
| Credentials | Dedicated SMTP credentials, and note the scope: “SMTP credentials are set and managed on a per-domain basis.” Not one key for the account. |
| TLS certificate | “The SSL certificates for encrypted connections on our servers are configured for *.mailgun.org”. A CNAME private label will therefore break TLS validation. |
| IP allow-lists | Do not build one. “IP addresses for HTTP and SMTP API endpoints will change frequently… Be sure there are no IP-based ACLs”. |
| API send | POST https://api.mailgun.net/v3/YOUR_DOMAIN/messages, or api.eu.mailgun.net for the EU region |
| API auth | HTTP Basic, with the literal username api and your API key as the password |
| Data residency | “Message data never leaves the region in which it is processed.” |
| Rate limits | Not published as numbers. Headers only: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, with “Time windows may vary by API depending on resource usage”. |
| Max message size | Not published. We checked the attachments documentation specifically; no figure appears. Figures circulating on forums are not from Mailgun. |
This is Mailgun’s real technical differentiator and almost nobody writes about it. From an ordinary SMTP session you can set a tag, toggle DKIM, enable test mode with drop-message, control open and click tracking independently, choose a specific sending IP or IP pool, require TLS, skip certificate verification, use a secondary DKIM key, schedule with deliver-by, bound delivery with deliver-within, enable send time optimisation and timezone optimisation, pass recipient variables, select a template by name and version, archive a copy, and suppress headers. Resend exposes an idempotency key and standard headers. If you need this level of control without moving to an HTTP API, Mailgun is the only option in this family.
Every hostname, port and quoted line above was read from Mailgun’s documentation twice, the second pass retrieving literal text. Two things we could not confirm and therefore do not state: any numeric API rate limit, and any maximum message size. Both are commonly quoted elsewhere. Neither appears in Mailgun’s own documentation.
| Founded | 2010, by Ev Kontsevoy and Taylor Wakefield. “Mailgun was selected for Y Combinator’s 2011 class”. |
|---|---|
| Ownership | Acquired by Rackspace in 2012, amount never disclosed. Became a Pathwire brand alongside Mailjet in January 2021. Sinch announced its acquisition of Pathwire on 30 September 2021 for “USD 925 million and 51 million new shares”, “an enterprise value of approximately USD 1.9 billion”. Now branded Sinch Mailgun. |
| Claimed scale | “Join over 150,000 businesses, including 8 of the 10 largest tech companies in the world” |
| Free | $0, “100 emails/day included”, 1 day of log retention |
| Basic | “Starting at $15/mo”, 10,000 emails a month, overage “from $1.80 / 1,000 emails”, 1 day of log retention |
| Foundation | “Free for 1 month, then $35/mo”, 50,000 emails a month, overage “from $1.30 / 1,000”, 5 days of log retention |
| Scale | “Free for 1 month, then $90/mo”, 100,000 emails a month, overage “from $1.10 / 1,000”, 30 days of log retention |
| Dedicated IP | “One dedicated IP is included with Foundation 100k, Growth and Scale plans”, and “you can add additional IPs to your account for $59/IP/month” |
| Scheduling | “Depending on your billing plan, you can schedule messages up to 3 or 7 days in advance”. Deliver-within accepts a minimum of 5m and a maximum of 24h. |
| SDKs | Six official: Go, Node.js, PHP, Java, Ruby, Python |
| Webhooks | Eight event types: accepted, delivered, temporary_fail, permanent_fail, opened, clicked, unsubscribed, complained |
| Official MCP | Yes, local only. npx -y @mailgun/mcp-server, API key in an environment variable and “never exposed to the AI model”. |
Mailgun runs a complete parallel EU stack: smtp.eu.mailgun.org for the relay, api.eu.mailgun.net for the API, and a stated commitment that “Message data never leaves the region in which it is processed.”
Compare across this family. Resend documents no EU hostname at all. SendGrid publishes an EU API host for subusers. SMTP2GO offers EU relay hostnames. Amazon SES has five European regions with SMTP endpoints, which is more geography but requires you to adopt AWS. Mailgun is the only one that gives you a drop-in European alternative to a US host with a residency commitment attached, and a reviewer names exactly that as the reason he uses it.
The roughly twenty-five X-Mailgun headers described above turn an ordinary SMTP session into something closer to an API call. Choose your sending IP pool per message. Require TLS or fail. Run in test mode without delivering. Tag for analytics. Pass template variables. Schedule. This is the payoff of sixteen years of a developer-first product, and it is the reason large senders with existing SMTP pipelines stay.
One review is worth quoting in full because it describes something rare: “They provide backward compatibility with their old API to reduce downtime during upgrades, especially for legacy systems.” The send endpoint still carries v3 in the path.
Set that against Resend, whose documentation says “Currently, there’s no versioning system in place.” Resend is more pleasant to integrate this week. Mailgun is the one that will still work the same way in three years, and the corpus contains someone who has tested that claim.
The most common praise in this corpus is the documentation, described as “top-tier” and “self-explanatory”, with one reviewer saying integration “should present no issues to integrate in just a few minutes”. Another: “The RESTful endpoints are well-structured and the SDKs (Python, Ruby, Node.js, etc.) make integration painless once you’ve read the docs.”
Mailgun publishes a first-party MCP server, installed locally with npx -y @mailgun/mcp-server and authenticated with an API key held in an environment variable, which the documentation notes is “never exposed to the AI model”. It covers sending and retrieving stored messages, domains, analytics, templates, suppressions, webhooks, inbound routes, mailing lists, IPs and tracking.
It is a real implementation and it is a step behind Resend’s, which is a hosted remote server with browser OAuth and nothing to install. Local stdio means the key lives on the machine and every developer sets it up separately. It is still ahead of AWS, which has no SES server at all.
Routes let Mailgun receive mail and forward it, store it or post it to your application. That makes it a two-way relay rather than an outbound-only one, and it is a genuine capability gap against SES, SMTP2GO and SendGrid for anyone building reply handling or ticketing.
This is the hardest limit in the product and it is the thing we would fix first. Free and Basic get one day. Foundation, at $35 a month, gets five days. Thirty days does not arrive until Scale at $90 a month.
Here is what that means in practice: on Basic, if a customer emails on Monday asking whether their receipt was sent on Friday, you cannot answer. Resend gives thirty days of retention on its free plan. SMTP2GO gives five days free and about a month paid. A reviewer states it flatly among his cons: “The log retention period is very limited.”
| Provider | Free plan retention | Retention at ~$90 / mo |
|---|---|---|
| Resend | 30 days | 30 days |
| SMTP2GO | 5 days | About 30 days |
| Mailgun | 1 day | 30 days |
29 of 75 rows raise cost, which is the second highest share we have measured on this site behind HubSpot’s 42 percent, and far above SendGrid’s 25 percent. What distinguishes it is the direction people describe: “Mailgun’s pricing has only gotten pricier and pricier with time. They are not even able to provide discounts that are not in their scheme.”
The overage arithmetic explains a lot of it. Mailgun charges from $1.80 per 1,000 on Basic and from $1.10 on Scale. Resend charges $0.90 on every paid plan. Amazon SES charges $0.10 without a plan. A second reviewer names the shape of the problem rather than the number: “Pricing Complexity: the cost structure (per-sent + per-recipient, dedicated IP fees, and extra features) quickly adds up.” Additional dedicated IPs are $59 each per month, against Resend’s $30 and Amazon SES’s $24.95.
16 of 75 rows touch verification, flagging, blocking or account disablement. Most are procedural, about business verification lifting a sending limit. One is not, and it is the review a buyer needs to read: “Their automated system falsely flagged my SaaS, disabling all transactional emails without warning. Support was extremely slow making Mailgun completely unreliable for any business.”
We are reporting this as a counted observation rather than a pattern, and we note that it is the second time we have found it. SendGrid’s corpus contains seven independent accounts of the same experience. Two of the largest relays in this category both carry a visible tail of customers cut off by automated systems with support unable to move quickly. If your application stops when email stops, keep a second provider configured. That advice is now on two of our fiches for the same reason.
12 of 75 rows raise the interface and the most precise summary is a five-star review: “Steep Learning Curve: the UI feels more like a developer console than a user-friendly dashboard.” The same reviewer adds “Limited Built-in Email Templates: Mailgun doesn’t offer a visual template editor.” Another asks for something simpler: “Mailgun could use a wizard like interface for setting up a domain.”
Capterra rates ease of use at 4.2, mid-field, and the corpus explains the number: people who know DNS find it fine, and people who do not find it opaque.
Mailgun documents rate limit headers and a 429 but no numbers, with the unhelpful note that “Time windows may vary by API depending on resource usage”. We also checked the attachments documentation specifically and found no maximum message size stated anywhere.
Both figures are widely quoted on other sites. Neither comes from Mailgun. Resend publishes both, 10 requests per second per team and 40 MB. Amazon SES publishes both. For anyone sizing an integration in advance, this is a real gap.
“SMTP credentials are set and managed on a per-domain basis”, so adding a domain means creating and distributing another credential pair. Resend reuses one API key everywhere. It is more secure and it is more work.
There is also a subtle failure to know about: the TLS certificates are configured for *.mailgun.org, so pointing your own CNAME at the relay for white-labelling will break certificate validation. And do not build IP allow-lists, because Mailgun warns its endpoint addresses “will change frequently”.
A reviewer running twenty client accounts through one Mailgun account names the limitation directly: “Does not support multiple sub accounts with separate billing and separate payment methods.” For an agency reselling sending, that is a structural problem, and it is the one place where GoHighLevel’s sub-account model, whatever else we said about it, does something Mailgun cannot.
Mailgun’s Capterra listing (product ID 159630, vendor Sinch) holds 197 reviews. We covered six pages, and after removing rows that Capterra served on more than one page we had roughly 120 distinct reviews. Three of those six pages returned with text elided, so the frequencies below are counted against the 75 rows that returned complete text with dates, and we quote only from those. Within those 75 rows the ratings run 45 five-star, 18 four-star, 7 three-star, 1 two-star and 4 one-star.
The same reviewers appeared on pages 1, 3 and 6 of this listing. We have now seen a page-level rendering defect on Capterra listings for Constant Contact, HubSpot and Mailgun, each in a different form. If you audit any of these corpora yourself, deduplicate by reviewer name and date before counting anything.
Support is praised and criticised at similar volume. One free-tier user reports “professional support even for people on a free membership like me”, another calls it “very effective and can get issues solved promptly”. The one-star reviews describe the opposite at the moment it mattered. Capterra’s customer service sub-score of 4.0 sits between those two experiences and is the lowest of Mailgun’s four sub-scores.
Automatic suppressions are useful and invisible. A five-star reviewer’s only con: “More visibility on automated changes (such as automatic suppressions).” Mailgun makes decisions about your recipients on your behalf, which is mostly correct and occasionally surprising, and combined with one day of log retention it can be hard to reconstruct what happened.
Long tenure dominates. An unusual number of rows come from reviewers marked as two years or more. This is a corpus of people who set it up once and left it running, which is the highest compliment infrastructure gets, and it also means the five-star reviews describe pricing they were grandfathered into rather than pricing you would be offered today.
Six categories, each out of 10, judged against the same evidence rules on every platform we cover. The overall is the unweighted arithmetic mean, rounded to one decimal: 6.0 + 4.0 + 7.0 + 5.0 + 5.0 + 8.5 = 35.5, divided by 6, equals 5.9.
Ease of use, 6.0. A Capterra ease sub-score of 4.2 and documentation people praise, against an interface twelve rows call a developer console, per-domain credentials, and no visual template editor.
Automation, 4.0. Inbound routes, mailing lists and templates put it above Amazon SES at 3.5 and SMTP2GO at 3.0, and well below Resend at 5.0, which has contacts, broadcasts and automations.
Deliverability, 7.0. No seedlist figure exists. What supports the score: a full EU region with a residency commitment, dedicated IPs and IP pools selectable per message, automatic suppression, eight webhook event types and bounce tooling reviewers praise. What holds it down: additional IPs at $59 a month, and one day of logs on the cheap plans, which makes diagnosing a placement problem hard.
Support, 5.0. A 4.0 customer service sub-score, the lowest of its four, and a corpus that splits between prompt and absent with the absent half concentrated in the one-star tail.
Pricing value, 5.0. 39 percent of counted rows raise cost, overage rates are the highest in this family, additional IPs cost double Resend’s, and Free and Basic give one day of logs. The free tier at 100 a day matches SendGrid’s.
API and MCP, 8.5. A parallel EU stack, roughly 25 SMTP-controllable headers, inbound routing, an official MCP server and documented backward compatibility. Held below 9 by unpublished rate limits, an unpublished message size limit, a local-only MCP and the CNAME TLS trap.
| Source | Score | Volume | Notes |
|---|---|---|---|
| G2 | 4.2 / 5 | 321 reviews | Listed as Mailgun, vendor Sinch, under Transactional Email Software. No sub-scores displayed. |
| Capterra | 4.3 / 5 | 197 reviews | Ease of use 4.2, features 4.2, value for money 4.1, customer service 4.0. Product ID 159630. |
| Trustpilot | N/A | – | No verified listing found. |
| Inbox placement | No figure | – | Never included in the seedlist panel, which has since been discontinued. |
Here is the direct comparison against the two providers Mailgun is most often shortlisted against, which is more useful than any single score:
| Mailgun | Resend | SendGrid | |
|---|---|---|---|
| Our score | 5.9 | 7.4 | 5.7 |
| Capterra | 4.3 (197) | No listing | 4.2 (753) |
| Free plan retention | 1 day | 30 days | Not published |
| Overage per 1,000 | $1.10 to $1.80 | $0.90 | Per-email, tier mapping unclear |
| Extra dedicated IP | $59 / mo | $30 / mo | Not published |
| EU region | Full stack, SMTP and API | None documented | API only |
| Published rate limit | No | Yes, 10 req/s | No |
| API versioning | Yes, v3 in path | None | Yes, v3 |
| Official MCP | Local only | Hosted, OAuth | No |
| Alternative | Our score | Take it instead if |
|---|---|---|
| Resend | 7.4 | Developer experience and MCP support matter more than European residency. Thirty days of logs free, cheaper overage, a hosted OAuth MCP server. Weigh the missing API versioning and the ten-review track record. |
| SMTP2GO | 7.5 | You want support that answers and a product that just works. The highest user ratings on this site, eight ports including 80 and 443, and a free dedicated IP at 100,000 a month. |
| Amazon SES | 6.3 | Volume economics dominate. $0.10 per 1,000 against Mailgun’s $1.10 to $1.80, with five European regions, in exchange for a sandbox and no interface. |
Host smtp.mailgun.org for the US region or smtp.eu.mailgun.org for the EU. Ports are 25, 465, 587 and 2525; port 465 requires TLS, while 25, 587 and 2525 start unencrypted and upgrade with STARTTLS. Mailgun recommends 587 because some ISPs throttle port 25, and notes that Google Compute Engine allows 2525. Credentials are dedicated SMTP credentials managed per domain, not one key for the whole account.
Free is 100 emails a day with one day of log retention. Basic starts at $15 a month for 10,000 emails with overage from $1.80 per 1,000 and still one day of logs. Foundation is $35 a month for 50,000 emails, overage from $1.30, and five days of logs. Scale is $90 a month for 100,000 emails, overage from $1.10, and thirty days of logs. Additional dedicated IPs cost $59 each per month; one is included from Foundation 100k upwards.
There is a free plan of 100 emails a day, which matches SendGrid’s. The catch is retention: one day of logs, so you cannot look up anything sent before yesterday. If you want a free plan you can actually operate against, Resend gives 3,000 a month with thirty days of retention and SMTP2GO gives 1,000 a month with five days.
Send with POST to https://api.mailgun.net/v3/YOUR_DOMAIN/messages, or api.eu.mailgun.net for the EU region, using HTTP Basic authentication with the literal username api and your API key as the password. There are six official SDKs and eight webhook event types. Note that Mailgun does not publish numeric rate limits, only response headers, and does not publish a maximum message size anywhere in its documentation.
Mailgun scores 5.9 with us and SendGrid 5.7, so they are close, and they lose points in different places. Mailgun has a full EU stack, deeper SMTP control and API versioning; SendGrid has a wider integration footprint and a permanent free tier. Both carry the same warning: each corpus contains customers describing sending disabled by an automated system without warning. Whichever you choose, keep a second relay configured.
Resend at 7.4 for developer experience, thirty days of free log retention and the best MCP implementation we have found. SMTP2GO at 7.5 for the highest user ratings on this site and support that answers around the clock. Amazon SES at 6.3 if volume economics dominate everything else. All are reviewed here with the same six categories.
The same product under its current ownership. Mailgun became a Pathwire brand alongside Mailjet in January 2021, and Sinch announced its acquisition of Pathwire on 30 September 2021 for USD 925 million plus 51 million new shares, an enterprise value of roughly USD 1.9 billion. Sinch is a Swedish company, the documentation footer now reads Sinch, and support signs itself Sinch Mailgun. Nothing about the API changed.
Yes, an official one, installed locally with npx -y @mailgun/mcp-server and authenticated with an API key held in an environment variable that the documentation says is never exposed to the model. It covers sending, stored messages, domains, analytics, templates, suppressions, webhooks, inbound routes, mailing lists, IPs and tracking. It is local stdio only, where Resend offers a hosted remote server with browser OAuth.
| Date | Change |
|---|---|
| 27 August 2026 | First publication. Six pages of the 197-review Capterra listing covered, roughly 120 distinct reviews after deduplicating rows Capterra served on multiple pages, with frequencies counted against the 75 rows that returned complete dated text. Every hostname, port, price, retention window and quoted line verified twice against Mailgun’s documentation on this date. Two commonly quoted figures, the API rate limit and the maximum message size, confirmed absent from official documentation and therefore omitted. Ownership history sourced to Sinch’s acquisition announcement. Search volumes measured for the United States. |
This review follows our email infrastructure testing methodology. We disclose affiliate relationships in our editorial independence policy.