Transactional email service Sinch-owned since December 2021; inbound routing on its own MX hosts
Mailgun logo

Mailgun features: what you get on each plan

Last verified Aug 27, 2026
Feature TL;DR (August 2026)
Mailgun is a sending platform, not an ESP, so the interesting gating is not on marketing features it never had — it is on how long you are allowed to keep your own data. Bounce classification expires on the same clock as your logs, which means one day to diagnose a failure on Free and Basic. Templates need Foundation at $35/mo, and a dedicated IP is decided by your volume tier rather than your plan name. Sourced from Mailgun’s pricing page, user manual and help center, all consulted on 27 August 2026.

Half of what a marketing-platform feature page usually covers does not apply here. Mailgun’s own information page describes it as a delivery platform for sending, receiving and tracking at scale, and lists no landing pages, forms, SMS or CRM — absences by design, not gaps. What matters instead are the thresholds that plan cards hide: retention windows, a webhook fan-out limit, and a dedicated IP rule that is not written in the plan name.

Feature matrix

FeatureIncludedFrom planVerdict
WebhooksYesFreeEight event types, three URLs each
Email templatesPartialFoundationBuilder and API gated together
Handlebars logic in templatesPartialFoundationFive block helpers, no extensions
Template versioningPartialFoundation100 templates, 40 versions each
Inbound routingPartialFreeOne route free, five on Basic
Route actions and filtersYesFreeforward, store, stop; 4k cap
Message retentionPartialFoundationOne day, seven on Scale
Log retentionPartialFreeOne day, five, then thirty
Bounce classificationPartialFreeWindow matches log retention exactly
Suppression managementYesFreeBounces, unsubscribes and complaints
Link and open trackingYesFreeIncluded at every tier
Analytics and reportingYesFreeScheduled report delivery on Scale
Batch sendingYesFreeCapped at 1,000 recipients per call
SMTP relayYesFreeFull relay from the free plan
RESTful send APIYesFreeFree tier included, full at Foundation
Authentication (SPF, DKIM, DMARC, BIMI)YesFreeEvery protocol, no tier gate
Email validationPartialScalePaid add-on below Scale
Dedicated IPPartialFoundation 100kVolume tier decides, not plan
Dedicated IP poolsPartialScalePool management is Scale only
Send time optimizationPartialScaleNothing equivalent below Scale
SAML SSOPartialScaleScale and Enterprise accounts only
Multi-user access and rolesPartialFoundationFree capped at one user
Inbox placement testingNoSold separately as Mailgun Optimize
A/B testingNoNo split testing in Send
Landing pagesNoSending platform, nothing to build
Web formsNoNo form builder at any tier
SMSNoEmail only, no second channel
CRMNoNo contact-relationship layer
The line people read wrong is the dedicated IP. It is not unlocked by upgrading from Foundation to Scale. Mailgun’s own comparison row reads “Access at 50k, included at 100K+ volumes,” and its pricing FAQ is blunter: “One dedicated IP is included with Foundation 100k, Growth and Scale plans.” A Foundation account at 50,000 emails can buy one; a Foundation account at 100,000 already has one. Extra addresses run $59/IP/month on any plan.

Feature by feature

Mailgun webhooks

Webhooks are available from the free plan with no tier gate, which is the right decision for a platform whose whole job is telling your application what happened to a message. Eight event types are documented: accepted, delivered, temporary_fail, permanent_fail, opened, clicked, unsubscribed and complained. Each is configured on its own, and the help center states the fan-out limit plainly — “Each event type is configured individually and can contain up to 3 URLs per event type.” Three is low if you were planning to feed a warehouse, an alerting service and your application from the same event, and it is the one webhook number worth checking before you design around it.

Delivery semantics are simple: a 200 stops retries, a 406 stops them and marks the payload rejected, and every other status code triggers exponential backoff. Mailgun’s two official surfaces do not agree on the schedule, though. The user manual gives six attempts “during 8 hours” at 5 and 10 and 15 minutes, then 1, 2 and 4 hours; the help center lists seven, starting 10, 10, 15 and 30 minutes. Both put the window at roughly eight hours with nothing queued after it, so treat eight hours as your recovery budget and ignore the interval count.

Webhooks are your only durable record on Free and Basic. Logs there hold one day, so an endpoint that is down overnight loses events Mailgun can no longer show you.
Every plan gets webhooks, including Free. The constraint is three URLs per event type, not who is allowed to subscribe.

Mailgun templates

Templates are the clearest plan gate on the platform. Mailgun’s pricing comparison puts “Email template builder and API” under Foundation, so the visual builder and the templates endpoint arrive together at $35/mo. Below it you compose bodies in your own code and send them inline — fine for one transactional message, painful across a dozen, because every copy change becomes a deploy.

Once unlocked, the limits are generous and precisely documented: “Mailgun caps usage of account-level templates to 100 templates and 40 versions per template,” with the same ceiling applying separately per sending domain. Version history is real: hold forty drafts and pick which is active, so copy changes stop being code changes. Templating runs on a customized Handlebars engine with five block helpers — if, unless, each, with and equal — which covers the conditionals and line-item loops a receipt needs. Custom helpers are not supported, so formatting logic such as currency rounding belongs in your payload.

One deployment detail catches multi-region accounts. Templates are region-isolated: an account sending from both the US and the EU has to create the same template twice, once in each region, and keep the two in step by hand. There is no cross-region sync.

Templates start at Foundation. Below it there is no template store at all, in the UI or the API.

Two numbers worth checking before you commit

Retention is the real tier ladder. Log retention runs one day on Free and Basic, five days on Foundation and thirty on Scale, and bounce classification expires on exactly the same clock. On the two cheapest plans you have twenty-four hours to work out why a message failed before the evidence is gone. Message retention is separate and shorter still: one day on Foundation, up to seven on Scale. Mailgun’s user manual describes the store() route action as keeping inbound mail “for up to 3 days,” which does not line up with either figure, so if inbound archival matters, confirm the window against your own account rather than the docs.

Test mode is billed. The sending documentation says it outright: “You are charged for messages sent in test mode!” A staging environment left pointed at a live domain runs up real volume against your plan.

Continue reading

See how the volume tiers price out on Mailgun pricing, read the full assessment in our Mailgun review, or compare it with similar sending platforms in Mailgun alternatives.

AAlaa Touil RRabeb How we test →

This review follows our email infrastructure testing methodology. We disclose affiliate relationships in our editorial independence policy.