• What's new

Product Update: New Postbin For Debugging Webhooks

Mailgun Team
5 min read

Originally posted on December 7, 2013.

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 postbin.ryanbigg.com 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 http://bin.mailgun.net, 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 bin.mailgun.net 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:

1POST http://bin.mailgun.net/api/new
2Creates a new Postbin
5 "url": "http://bin.mailgun.net/b50299cc"
1POST http://bin.mailgun.net/api/<id>
2Stores data in the Postbin
5 "message": "Post received. Thanks!"
1DELETE http://bin.mailgun.net/api/<id>
2Deletes a Postbin
5 "message": "Bin <id> deleted"
1GET http://bin.mailgun.net/api/&lt;id&amp;gt;
2Retrieves the Postbin data
5 {
6 "id": 153,
7 "params": "{"recipient":"test@example.com","sender":"travis@example.com","stripped-text":"A POST!","timestamp":"1358041467"}",
8 "created_at": 1385798101,
9 "bin_id": 59
10 }

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:

1from flask import Flask
2from flask import request
3app = Flask(__name__)
5@app.route('/mailgun-tracking', methods=['GET', 'POST'])
6def tracking():
7 # access some of the email parsed values:
8 request.form['recipient']
9 request.form['from']
10 request.form['subject']
12 # extended parameters
13 request.form['Message-Id']
14 request.form['message-headers']
15 request.form['timestamp']
16 request.form['body-plain']
17 request.form['stripped-html']
18 request.form['stripped-text']
19 request.form['stripped-signature']
21 return "Ok"
23if __name__ == '__main__':
24 app.run(host='', port=100, debug=True)

Till next week.

Happy sending!

The Mailgunners


Learn about our Deliverability Services

Looking to send a high volume of emails? Our email experts can supercharge your email performance. See how we've helped companies like Lyft, Shopify, Github increase their email delivery rates to an average of 97%.

Learn More

Last updated on August 28, 2020

  • Related posts
  • Recent posts
  • Top posts
View all

Always be in the know and grab free email resources!

No spam, ever. Only musings and writings from the Mailgun team.

By sending this form, I agree that Mailgun may contact me and process my data in accordance with its Privacy Policy.

sign up
It's easy to get started. And it's free.
See what you can accomplish with the world's best email delivery platform.
Sign up for Free