Product update: New postbin for debugging webhooks

Written by Mailgun Team

Categories: What's New

2 minute read time

This week, in addition to writing about what we learned open sourcing a major part of Mailgun, we released a new feature we think you’ll appreciate: a postbin for debugging your webhooks.

A Postbin of our own

We try not to suffer too much from not-invented-here syndrome at Mailgun (we’re engineers though, so it’s hard) and for years, there were a couple Postbin’s that we used regularly, and encouraged our customers to use, for debugging webhooks. Our favorite was because it was simple, and the POSTs were easy-to-read. But it’s no longer available, and another that we liked was recently redesigned making it harder to use. So we decided to make our own, focusing on usability and simplicity.

If you go to, you’ll now have the ability to create Postbin’s that allow you to easily debug your webhooks, Mailgun-related or otherwise.

A couple of the features you might find helpful are:

  • Ability to create multiple Postbins, each with their own permalink. This can make it easier to debug multiple webhooks
  • Each post within the Postbin has its own permalink too. This makes it easy to pass around your POST, for instance, when talking to Mailgun support.

Remember, since Mailgun let’s you test all your webhooks with a sample POST, you can enter your PostBin url in the Mailgun control panel and receive your test POST before coding anything.

In addition, the Mailgun PHP SDK has been modified to allow the Postbin as a destination, making it easy to see exactly what the SDK is posting to Mailgun’s API. Head over to the PHP SDK “Debugging” section for details.

Overtime, we’re hoping to integrate the Mailgun Postbin directly into your control panel, so that you can test your webhooks to a private postbin without having to enter a URL. Until that time, keep the following caveats in mind:

  • Your POSTs to are public, so don’t post anything confidential or that you wouldn’t want your mom to see.
  • Your data is deleted after 5 days max and maybe sooner, so don’t store anything you really really need here.

For developers who wish to provision a Postbin programatically, an API is available for the Postbin. Here are the available endpoints:

Creates a new Postbin

    "url": ""

Stores data in the Postbin

    "message": "Post received. Thanks!"

Retrieves the Postbin data

        "id": 153,
        "params": "{"recipient":"","sender":"","stripped-text":"A POST!","timestamp":"1358041467"}",
        "created_at": 1385798101,
        "bin_id": 59

Deletes a Postbin

    "message": "Bin <id> deleted"

A sample Flask app for accepting webhooks

Once you’re finally ready to accept POSTs for real, you can use or modify this flask app to accept your POSTs:

from flask import Flask
from flask import request
app = Flask(__name__)

@app.route('/mailgun-tracking', methods=['GET', 'POST'])
def tracking():
    # access some of the email parsed values:

    # extended parameters

    return "Ok"

if __name__ == '__main__':'', port=100, debug=True)

Till next week.

Happy emailing!

The Mailgunners

Published on: December 7, 2013 | Modified on: June 13, 2018

Stay up-to-date with our blog & new email resources

We'll let you know when we add new email resources and blog posts. We promise not to spam you.