Skip to main content

Making it easier to manage DMARC reports

Project description

Making it easier to manage DMARC reports

Designed to quickly and easily import DMARC reports.

Quick start

  1. Install the app

  2. Add “dmarc” to your INSTALLED_APPS setting like this:

  3. Run ‘python migrate’ to create the database models.


python importdmarcreport

You can choose to import an xml or zip file, alternatively with “-” you can pipe an email with the zipped report and it will do the right thing.


This Django DMARC project aims to help with implementation of DMARC “Domain-based Message Authentication, Reporting & Conformance” and ongoing monitoring by importing feedback reports about messages that pass and/or fail DMARC evaluation into a more easily digested format.

Perhaps one of the main reasons DMARC is gaining traction amongst organisations of all sizes is a desire to protect their brand and reputation. By defining and implementing a DMARC policy, an organization can help combat phishing, protect users and their reputation.

Currently at beta stage, importing and data structure are fairly stable, reporting todo.

Choosing Django was an easy choice as it offers an easily built import mechanism and transformation from xml to database through to presentation.

Although it has options for importing either xml or zip files, the way it’s used here at Persistent Objects is taking the email directly from SMTP and piping it through to the import routine.

We use Exim here and the configuration couldn’t be easier


    driver = accept
    condition = ${if eq{$local_part}{dmarc_report}}
    transport = trans_dmarcreports


    driver = pipe
    command = "/usr/local/bin/python2.7 /path/to/ importdmarcreport -"
    freeze_exec_fail = true
    return_fail_output = true

DMARC reporting

There is only the one report at dmarc/report/ and requires staff members authorization.

Add the dmarc.urls to your urls:

url(r"^", include("dmarc.urls")),

This is a sample report styled with Bootstrap.

Sample DMARC report



To report a security issue, please send an email privately to This gives us a chance to fix the issue and create an official release prior to the issue being made public.

For general questions or comments, please contact

Project website

Communications are expected to conform to the Django Code of Conduct.

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 django-dmarc, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size django-dmarc-0.2.0.tar.gz (137.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page