DMARC_LOOKUP(1)
π DMARC_LOOKUP(1) β the manual page, but make it a group chat
okay bestie, so this is DMARC_LOOKUP(1), straight out of the User Contributed Perl Documentation section, and it's genuinely one of the most useful little tools ever. it looks up your DMARC policy. that's the vibe. let's go π¦
β¨ NAME β¨
dmarc_lookup β look up the DMARC policy for a domain. yes, that's literally it. she does one thing and she does it iconically π
πΈ SYNOPSIS πΈ
dmarc_lookup example.com [ --verbose ]
that's the whole thing. domain in, vibes out. the --verbose is optional, iykyk.
π DESCRIPTION π
so what she actually does: she queries the DNS for a DMARC policy for a (sub)domain. any results she finds get displayed as the DNS record, as a perl object. very demure, very mindful. π
in the simplest case β where the domain name in the email From header matches the Organizational Domain β this is roughly equivalent to the following commands:
dig +short _dmarc.example.com TXT
print $_->txtdata."\n"
for Net::DNS::Resolver->new(dnsrch=>0)->send('_dmarc.example.com','TXT')->answer;
but hold on, because there's a plot twist π₯ when the domain name in the email From header (that's header_from) is not an Organizational Domain (say, like www.example.com), she tries to figure out the O.D. using the Mozilla Public Suffix List. and when the O.D. differs from the header_from, she fires off a second DNS query to _dmarc.[O.D.]. two queries, one girl, no cap. π
π EXAMPLES π
a DMARC record in DNS format looks like this:
v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:dmarc@example.com;
pct=100;
DMARC records are stored as TXT resource records in the DNS, at _dmarc.example.com. periodt. β¨
other ways to retrieve a DMARC record for a domain are:
π okay bestie, the original page justβ¦ ends the list right there. nothing after the colon. iconic honestly. we're leaving it exactly as it is.
π SEE ALSO π
Mail::DMARC::Policyβ go read her, she's the whole reason this works π«Ά
π AUTHORS π
these legends, in this order:
- Matt Simerson
<msimerson@cpan.org> - Davide Migliavacca
<shari@cpan.org> - Marc Bradshaw
<marc@marcbradshaw.net>
and that's the whole page, bestie!! this version of the docs shipped with perl v5.42.2 and is dated 2026-06-15 β so like, go off, timestamp queen β take care of your DNS, hydrate, and may your p=reject always be valid. mwah. πππ§
π¦ 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