Skip to main content

Mail tracking and Mailgun webhooks integration

Project description

Beta License: AGPL-3 OCA/social Translate me on Weblate Try me on Runbot

This module integrates mail_tracking events with Mailgun webhooks.

Mailgun ( is a service that provides an e-mail sending infrastructure through an SMTP server or via API. You can also query that API for seeing statistics of your sent e-mails, or provide hooks that processes the status changes in real time, which is the function used here.

Table of contents


You must configure Mailgun webhooks in order to receive mail events:

  1. Got a Mailgun account and validate your sending domain.
  2. Go to Webhook tab and configure the below URL for each event:

Replace ‘<your_domain>’ with your Odoo install domain name and ‘<your_database>’ with your database name.

In order to validate Mailgun webhooks you have to configure the following system parameters:

  • mailgun.apikey: You can find Mailgun api_key in your validated sending domain.
  • mailgun.api_url: It should be fine as it is, but it could change in the future.
  • mailgun.domain: In case your sending domain is different from the one configured in mail.catchall.domain.
  • mailgun.validation_key: If you want to be able to check mail address validity you must config this parameter with your account Public Validation Key.

You can also config partner email autocheck with this system parameter:

  • mailgun.auto_check_partner_email: Set it to True.


In your mail tracking status screens (explained on module mail_tracking), you will see a more accurate information, like the ‘Received’ or ‘Bounced’ status, which are not usually detected by normal SMTP servers.

It’s also possible to make some checks to the partner’s email addresses against the Mailgun API:

  • Check if the partner’s email is in Mailgun’s bounced list.
  • Check the validity of the partner’s mailbox.
  • Force the partner’s email into Mailgun’s bounced list or delete from it.

It’s also possible to manually check a message mailgun tracking when the webhook couldn’t be captured. For that, go to that message tracking form, press the button Check Mailgun. It’s important to note that tracking events have quite a short lifespan, so after 24h they won’t be recoverable.

Known issues / Roadmap

  • There’s no support for more than one Mailgun mail server.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • Tecnativa


  • Tecnativa:
    • Antonio Espinosa
    • Carlos Dauden
    • Pedro M. Baeza
    • David Vidal
    • Rafael Blasco
    • Ernesto Tejeda

Other credits



This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/social project on GitHub.

You are welcome to contribute. To learn how please visit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odoo12-addon-mail-tracking-mailgun, version
Filename, size File type Python version Upload date Hashes
Filename, size odoo12_addon_mail_tracking_mailgun- (105.0 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page