DMARC_VIEW_REPORTS(1)
π DMARC_VIEW_REPORTS π
okay bestie, gather round, because dmarc_view_reports is about to become your new obsession β¨ it's the Perl-powered little tool that dumps your whole DMARC data store straight onto your terminal, and it's giving main character energy because the freshest records show up first π₯
π SYNOPSIS π
dmarc_view_reports [ --option=value ]
Basically: it dumps the contents of the DMARC data store to your terminal. And the way it's set up? The most recent records are shown first, periodt. π
π Search Options π
these are the fields you can filter/sort on, bestie β memorise them, they're the whole vibe:
ridβ report ID (the internal database ID, iykyk)authorβ report author (Yahoo! Inc,google.com, etc..)from_domβ message sender domainbeginβ epoch start time, so you only display messages after itendβ epoch end time, so you only display messages before itdispositionβ DMARC disposition (none,quarantine,reject)dkimβ DKIM alignment result (pass/fail)spfβ SPF alignment result (pass/fail)limitβ limit the number of reports returned (defaults to100π)sortβ sort by:rid,author,from_domain,begin,end(append:ascor:desc)
The default sort is "rid:desc" β that's newest reports first, no cap π§’. And if typing that feels like a lot, you can also just use --sort=newest or --sort=oldest. Slay.
Now for the β¨chaos magicβ¨: prefix a value with "!" to negate the match (i.e. exclude the matching records). This is supported for "author", "from_dom", "disposition", "dkim", and "spf". So for example, "--author=!google.com" will exclude reports authored by google.com. Iconic behaviour honestly.
πΈ Other Options πΈ
dmarc_view_reports [ --geoip --dns --help --verbose ]
geoipβ do GeoIP lookups (heads up: it requires the free MaxmindGeoCityLitev6database)dnsβ do reverse DNS lookups and display hostnameshelpβ print this syntax guideverboseβ print additional debug info
β¨ EXAMPLES β¨
Wanna see one specific report by its ID? Say less:
dmarc_view_reports --rid=560
Wanna search for all reports from google.com that failed DMARC alignment? This is the one:
dmarc_view_reports --author=google.com --dkim=fail --spf=fail
β οΈ Note that we don't use --disposition here. That would only tell us the result of applying DMARC policy, not necessarily if the messages failed DMARC alignment. So don't do that, bestie, it's a trap π
To exclude reports from google.com:
dmarc_view_reports --author=!google.com
To exclude rows with a specific disposition:
dmarc_view_reports --disposition=!none
To show only the newest 50 reports:
dmarc_view_reports --limit=50
To view oldest reports first (little time traveller moment π¦):
dmarc_view_reports --sort=oldest
To display GeoIP lookup data for the source ip:
dmarc_view_reports --geoip
By default; city, country_code & continent_code are shown. You can optionally pass a comma delimited string to --geoip= with any of the following fields:
country_code country_code3 country_name region region_name city postal_code latitude longitude time_zone area_code continent_code metro_code
dmarc_view_reports --geoip=country_name,continent_code
dmarc_view_reports --geoip=continent_code,country_name # keep order
dmarc_view_reports --geoip=city,city,city # repeat
(not the # keep order and # repeat comments β those are literally just telling you the order is kept and you can repeat a field. Cute, right? π)
π SAMPLE OUTPUT π
here's what it looks like when it eats, fr fr:
ID Author Report-Start
| -- Qty From IP Disposition DKIM SPF
570 theartfarm.com 2013-05-20 09:40:50
| -- 1 simerson.net 75.126.200.152 quarantine fail fail
568 yeah.net 2013-05-21 09:00:00
| -- 1 tnpi.net 111.176.77.138 reject fail fail
565 google.com 2013-05-20 17:00:00
| -- 88 mesick.us 208.75.177.101 none pass pass
563 google.com 2013-05-20 17:00:00
| -- 1 lynboyer.com 2a00:1450:4010:c03::235 none pass fail forwarded
| -- 12 lynboyer.com 208.75.177.101 none pass pass
| -- 1 lynboyer.com 209.85.217.174 none pass fail forwarded
π AUTHORS π
the legends behind this, give them their flowers π:
- Matt Simerson <msimerson@cpan.org>
- Davide Migliavacca <shari@cpan.org>
- Marc Bradshaw <marc@marcbradshaw.net>
and that's the whole thing, bestie π this page is from perl v5.42.2, dated 2026-06-15, and it's filed under DMARC_VIEW_REPORTS(1) in the User Contributed Perl Documentation. go forth and read your reports, you absolute icon πβ¨
π¦ where this page comes from
- fedora 43: perl-Mail-DMARC 1.20260612-1.fc43 Β· (GPL-1.0-or-later OR Artistic-1.0-Perl) AND MPL-2.0
- fedora 44: perl-Mail-DMARC 1.20260612-1.fc44 Β· (GPL-1.0-or-later OR Artistic-1.0-Perl) AND MPL-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms