Integration
Verify your Mailgun audience before you send
Mailgun's own Bounces, Unsubscribes, and Complaints tables only catch an address after it fails — a hard bounce, an unsubscribe click, a spam complaint, all discovered mid-send against your domain reputation. Running your mailing list through Bounceless first catches dead mailboxes and typos while they are still rows in a file, before Mailgun's own suppression system ever has to.
How it works
Steps are sourced from Mailgun's official documentation (reference) and have not yet been walked on a live Mailgun account by a Bounceless team member — treat exact menu labels as indicative until this note is removed.
When to run it
Common questions
Does this integration require Mailgun API access?
Yes, at least for the re-import step. Mailgun's public docs don't describe a one-click CSV export button for mailing lists, so pulling members and bulk re-uploading the cleaned file both go through the Mailgun API rather than a dashboard-only flow. The verification step itself happens entirely inside Bounceless.
How is this different from Mailgun's own Bounces table?
Mailgun's Bounces, Unsubscribes, and Complaints tables are suppression lists — they only stop future sends to an address after that address has already failed once. Bounceless verifies addresses before you send at all, so fewer of them ever generate a bounce or complaint for Mailgun to suppress in the first place.
Which Mailgun API key does this workflow need?
A domain sending key only covers sending messages and cannot manage lists or suppressions. Reading and re-importing mailing list members needs the primary account API key (or a suitably scoped key), which Mailgun's docs note is more powerful and should be stored in a secrets manager rather than committed to source control.
This guide covers running Bounceless alongside Mailgun. Weighing Bounceless against Mailgun's own validation tooling instead? See the Bounceless vs Mailgun comparison.