Analyze DMARC aggregate reports and generate rich, interactive HTML reports to help you monitor and improve your domain’s email authentication posture.
Safely transition from
p=none➡p=quarantine➡p=rejectwith confidence.
✅ Smart ZIP File Handling
- Automatically detects and sorts ZIP reports by timestamp:
- Google:
google.com!domain!start!end.zip - Yahoo:
yahoo.com-domain-start-end.zip - Microsoft:
microsoft.com_domain_start_end.zip - Generic fallback for other providers
- Google:
✅ Comprehensive Analysis
- Pass/fail rates with visual progress bars
- DKIM and SPF domain alignment breakdown
- Trend charts of pass rates over time
- Top failing sources with risk classification
- Subdomain analysis and volume by reporting provider
✅ Policy Recommendations
- Automatic suggestions to move toward stricter policies based on failure rates
- Warnings for overly permissive SPF (
+all) or excessive failures underrejectpolicies
✅ DNS Lookups (Optional)
- SPF, DKIM, and DMARC records automatically resolved and explained
- Detection of known DKIM selectors for major providers
✅ Beautiful HTML Reports
- Styled, mobile-friendly HTML output
- Summaries, tables, failure details, and recommendations
yarn installYou can configure via environment variables.
Create a .env file (copy .env.example):
DMARC_REPORTS_DIR=./reports
DMARC_OUTPUT_PATH=./dmarc-report.html
DMARC_SORT_BY_TIMESTAMP=true
DMARC_ENABLE_DNS_LOOKUPS=true
DMARC_INCLUDE_TREND_CHART=trueDMARC_REPORTS_DIR: Folder containing ZIP reportsDMARC_OUTPUT_PATH: Path to output HTML reportDMARC_SORT_BY_TIMESTAMP: Whether to sort ZIP files chronologicallyDMARC_ENABLE_DNS_LOOKUPS: Perform DNS lookups for SPF/DKIM/DMARCDMARC_INCLUDE_TREND_CHART: Include pass-rate chart in the report
yarn run devArguments priority order:
- Environment variables
- Defaults
The generated report includes:
- Report Details
- Time range and reporting organizations
- Summary Statistics
- Total reports and messages
- Pass, quarantine, and fail rates
- Trend Chart
- Daily pass rate over the reporting period
- Authentication Results
- Detailed table of pass/quarantine/fail counts
- Domain Alignment
- DKIM/SPF/ARC breakdown
- Top Failing Sources
- IPs, providers, and dispositions
- All Failures
- Every failed message with metadata
- Domain Authentication Records
- Resolved SPF, DKIM, and DMARC with explanations
- Recommendations
- Tailored policy guidance
[INFO] Starting DMARC analysis (Process)
[INFO] Reports directory: ./reports (Process)
[INFO] Output path: ./dmarc-report.html (Process)
[INFO] Sort by timestamp: true (Process)
[INFO] Found 15 ZIP files to process (DmarcAnalyzer)
[INFO] Sorted ZIP files by timestamp (DmarcAnalyzer)
[INFO] Processing google.com!yourdomain.com!1752364800!1752451199.zip (google, 2025-07-13) (DmarcAnalyzer)
[INFO] Analysis complete. Processed 15 reports covering 1,234 messages (Process)
[INFO] Pass rate: 98.5% (Process)- Google Workspace
- Yahoo
- Microsoft
- Generic ZIP filenames
MIT
Author: Joshua Richardson Issues: GitHub Issues