Mail::DMARC::Report::Receive - process incoming DMARC reports
=head1 VERSION
version 0.20130521
=head1 DESCRIPTION
Receive DMARC reports and save them to the report store/database.
=head1 METHODS
=head2 from_imap, from_file, from_mbox
These methods are called by L<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.
=head2 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 submitter domain name to be included in the XML report. The submitter domain is the domain the message was destined to. For example, the only way to B<know> that the email which generated this particular report was sent to hotmail.com is to extract the submitter domain from the message metadata (Org Name=Microsoft, hotmail.com is not in the XML). So far, every messsage I have seen has had the submitter domain in one location or the other.
To extract messages from the message body, the MIME attachments are decompressed and passed to L<handle_body>.
=head2 handle_body
Accepts a XML message, parsing it with XML::LibXML and XPath expressions. The parsed data is stored in a L<Mail::DMARC::Report> object. When the parsing is complete, the report object is saved to the report store.
=head1 AUTHORS
=over 4
=item *
Matt Simerson <msimerson@cpan.org>
=item *
Davide Migliavacca <shari@cpan.org>
=back
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by The Network People, Inc..
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__
# ABSTRACT: process incoming DMARC reports
sub {}
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
go to github issues (only if github is preferred repository)