Weekly product update: Easy testing for Routes webhooks

Written by Mailgun Team

Categories: What's New

1 minute read time

Last week we released a much-requested email tracking feature: domain-level webhooks. Continuing on that theme, this week we’ve released another webhook-related feature: easy testing for Routes webhooks. Now you can test your Routes webhook endpoints by POSTing a sample message to your app directly from your Mailgun control panel. We’ll be rolling out a similar Test feature for Tracking webhooks in the coming weeks so stay tuned for that.

Testing your Routes webhooks

We’d tried to make testing your Routes webhooks as simple as possible. All you need to do is enter a URL where you want to receive an HTTP POST and we’ll POST a sample message with values for all available parameters. This way you can test your webhook handler and make sure everything is working properly prior to sending real email traffic. As always, you can also test how your Routes match against certain Filter Expressions you’ve created.

A sample Flask app for accepting webhooks

We’ve posted this code before, and we’ll post it again here because its helpful. If you’re using webhooks to parse incoming messages, you need a way to process the incoming data. Here is a little Flask app that you can use to get started and customize for your specific use case.

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__':  
    app.run(host='', port=100, debug=True)

Till next week.

Happy sending!

The Mailgunners

Modified on: March 13, 2019

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.