Email-in with Mailgun
Step-by-step configuration for Mailgun Routes.
Mailgun is the other commonly-used parsing provider. Slightly more complex setup than Postmark (Routes vs. inbound servers), but works well at scale.
What you'll set up
- A verified Mailgun domain.
- A Route on that domain pointing at Nura24.
Step 1 — Add and verify a domain
In Mailgun, Sending → Domains → Add new domain.
You can either:
- Use a subdomain of your existing domain —
mg.acme.com. Add the DNS records Mailgun gives you (TXT for SPF, DKIM, plus MX). Verify. - Use Mailgun's sandbox domain for testing —
sandboxabc123.mailgun.org. Limited to authorized recipients; not for production.
Mailgun requires the domain to be verified before Routes can match it.
Step 2 — Create the Route
Receiving → Routes → Create Route.
- Priority: 10 (or whatever order suits if you have multiple routes).
- Filter expression:
match_recipient("^tickets\+(.+)@your-mg-domain\.com$")— matches anytickets+<token>@…address on your Mailgun-verified domain. - Actions:
forward("https://api.nura24.com/email/inbound?secret=<your-platform-secret>")— POSTs the parsed message to us.- Optionally also
store()if you want to keep a copy in Mailgun for debugging.
- Description: "Nura24 inbound tickets" or whatever helps you remember.
Save the route.
Step 3 — MX records
The domain's MX records must point at Mailgun's servers. Mailgun shows you the exact records when you verified the domain in step 1; if you used a fresh subdomain, you've already set them.
If you want existing email on acme.com to keep working, don't point the apex MX at Mailgun. Use a separate subdomain (mg.acme.com or inbox.acme.com) whose MX is Mailgun's.
Step 4 — Test
Send an email to tickets+<your-inbox-token>@your-mg-domain.com. Mailgun's Logs tab shows the inbound; the Route action should fire; the ticket appears in your workspace within seconds.
Step 5 — Tell Nura24
Settings → Tickets → confirm the address shown matches your tickets+<token>@your-mg-domain.com.
Common Mailgun gotchas
- Sandbox domain limitations — if you're using the Mailgun sandbox while testing, only Mailgun-authorized recipients can email it. Real customers can't. Production needs a verified custom domain.
- MIME vs parsed mode — the Route action
forward()posts in Mailgun's "Stored Messages" parsed format. Our parser handles this; you don't need to flip any other setting. - Webhook authentication — Mailgun signs webhooks with HMAC. We currently use the shared secret instead of HMAC verification — pass it in the query or header as in the example above.
Pricing
Mailgun Routes are billed by inbound count. Check their current pricing — they have a Flex tier that's free for low volume.