In simple English
When you set up email security rules for your domain, mail servers send you XML report files about who is sending email as you. These files are messy and hard to read with the naked eye. This tool reads those zip or gzip files and turns them into clean JSON, CSV, or database records. You can run it on your own computer or server for free. It saves you from paying a monthly subscription to commercial email security services.
What it is
Parsedmarc is a Python library and CLI (a program you run from your terminal by typing text commands) that parses DMARC aggregate and forensic reports, plus TLS-RPT reports. It can pull these files straight from your email inbox via IMAP, Gmail API, or Microsoft Graph, and send the parsed data to Elasticsearch, OpenSearch, PostgreSQL, or a webhook.
What it is good for
Anyone who manages email domains and wants to monitor who is sending mail on their behalf without paying for a commercial DMARC monitoring service. It helps you catch spoofing attempts and fix broken email authentication without reading raw XML files.
- Handles zip and gzip compressed email reports automatically.
- Can fetch reports directly from an email inbox using IMAP, Gmail, or Microsoft Graph.
- Exports to clean JSON, CSV, or stores data directly in PostgreSQL, Elasticsearch, or OpenSearch.
- Requires Python knowledge and command-line setup to run and configure.
- Needs external databases like Elasticsearch or PostgreSQL to build visual dashboard summaries.
- Maintained by a single developer, so long-term support relies on community contributions.
Paid DMARC monitoring SaaS tools and manual XML file parsing
PostgreSQL
- smallstep/certificates9.0k stars
A certificate authority you run yourself, for machines the public internet cannot reach.
- michelp/pgsodium614 stars
A PostgreSQL extension that brings libsodium's encryption functions into SQL, with a root key the database cannot read back.
- pgaudit/pgaudit1.7k stars
A PostgreSQL extension that records what was done to the database, in the database's own log.
python3 -m venv venv source venv/bin/activate pip install parsedmarc