DMARCReporting 
This is a simple tool that displays the errors from a bunch of DMARC reports. It's meant to simplify the job of figuring out DMARC errors.
This is very much a work in progress, use only for tests! Feedback and pull requests are welcome.
Install
pip install DMARCReporting
How to use
-
Download all zipped DMARC reports to a
samplesfolder -
Execute:
DMARCReporting /path/to/reports
The tool processes the files one by one:
- unarchives the file on the fly
- parses the DMARC report
- if any DMARC rejection or quarantine or a failing SPF and/or DKIM authentication and/or alignment happens, a report is displayed on the console together with the DMARC report file name.
An example report looks as follows:
report.xml.gz
Source IP Source Host Payload From (From:) Envelop From (MAIL FROM) DMARC DKIM Align DKIM Auth SPF Align SPF Auth File
------------- ------------------------------ ---------------------- -------------------------- ------- ------------ ----------- ----------- ---------- ------
80.96.161.193 Unknown host bellous.com bellous.com none pass pass fail fail report.xml.gz
208.90.221.45 208-90-221-45.static.flhsi.com bellous.com calendar.yambo.com none pass pass fail pass report.xml.gz
80.96.161.193 Unknown host disicious.com disicious.com none pass pass fail fail report.xml.zip
208.90.221.45 208-90-221-45.static.flhsi.com disicious.com calendar.trumbee.com none pass pass fail pass report.xml.zip
Run tests
make install-dev
make test
Development Notes
This tool was started by Alex Bolboaca, with a clear goal: allow easier processing DMARC reports received by email. Alternate tools exist, but they are meant for enterprises, meaning they are either expensive or use a lot of infrastructure.
The main goal is to see a report of email failures to allow investigation. Therefore, this tool should be minimalistic, extracting the minimum necessary information and requiring a minimum infrastructure.
While it's possible to deploy it as a cloud function through a later development of a Docker container, it should also allow running it locally after obtaining the DMARC zipped reports in some way.
The current version has been developed mostly by Thierry de Pauw, so all thanks should go to him :).
Metadata
Release files for DMARCReporting 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dmarcreporting-0.3.1.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dmarcreporting-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.6 kB
Release files / dmarcreporting-0.3.1.tar.gz
| Download URL | dmarcreporting-0.3.1.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15e2db34df6daf4775d57e1ee319613294cef0154cd0ce25a5c73ee0fded0f76
|
|
BLAKE2b-256 checksum How to use checksums |
aa5c20c44f1f9a6dbd2b143b363374816c46a748870bfab0a9b04f4294f9318a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / dmarcreporting-0.3.1-py3-none-any.whl
| Download URL | dmarcreporting-0.3.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e89e3dae68c81c07e3cf7b05723f98eef2a39aaf2189ef4f56340c178dc73a2
|
|
BLAKE2b-256 checksum How to use checksums |
48b46bcf5c12fa22b85dd109094dc1764ce5b0cd1d8bfe0a094953f87ebd6f04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|