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
Mail::DMARC::Report::Receive(3) User Contributed Perl Documentation Mail::DMARC::Report::Receive(3)

Mail::DMARC::Report::Receive - process incoming DMARC reports

version 1.20180125

Receive DMARC reports and save them to the report store/database.

These methods are called by dmarc_receive program, which has its own documentation and usage instructions. The methods accept a message (or list of messages) and create an Email::Simple object from each, passing that object to from_email_simple.

Accepts an Email::Simple message object. Returns the type of DMARC report detected or undef if no DMARC report was detected.
When forensic reports are detected, no further processing is done.
When an aggregate report is detected, the report details are extracted from the message body as well as the Subject field/header and attachment metadata.
Parsing of the Subject and MIME metadata is necessary because the 2013 draft DMARC specification does not REQUIRE the envelope_to domain name to be included in the XML report. For example, the only way to know that the email which generated this particular report was sent to is to extract the envelope_to domain from the message metadata (Org Name=Microsoft, is not in the XML). So far, every messsage I have seen has had the envelope_to domain in one location or the other.
To extract messages from the message body, the MIME attachments are decompressed and passed to handle_body.

Accepts a XML message, parsing it with XML::LibXML and XPath expressions. The parsed data is stored in a Mail::DMARC::Report object. When the parsing is complete, the report object is saved to the report store.

Matt Simerson <>
Davide Migliavacca <>

This software is copyright (c) 2015 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.
2018-01-25 perl v5.28.1

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

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