Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
DMARC_LOOKUP(1) User Contributed Perl Documentation DMARC_LOOKUP(1)

dmarc_lookup - look up DMARC policy for a domain

version 1.20190308

   dmarc_lookup [ --verbose ]

Query the DNS for a DMARC policy for a (sub)domain. Displays any found results as the DNS record as a perl object. 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 TXT

    print $_->txtdata."\n"
      for Net::DNS::Resolver->new(dnsrch=>0)->send('','TXT')->answer;

When the domain name in the email From header (header_from) is not an Organizational Domain (ex:, an attempt is made to determine the O.D. using the Mozilla Public Suffix List. When the O.D. differs from the header_from, a second DNS query is sent to _dmarc.[O.D.].

A DMARC record in DNS format looks like this:

v=DMARC1; p=reject; adkim=s; aspf=s;; pct=100;

DMARC records are stored as TXT resource records in the DNS, at

Other ways to retrieve a DMARC record for a domain are:


  • Matt Simerson <>
  • Davide Migliavacca <>

This software is copyright (c) 2018 by Matt Simerson.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-04-13 perl v5.32.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.