NAME

Mail::DMARC::Report::Send::SMTP - utility methods for sending reports via SMTP

VERSION

version 1.20240214

SUBJECT FIELD

The RFC5322.Subject field for individual report submissions SHOULD conform to the following ABNF:

dmarc-subject = %x52.65.70.6f.72.74 1*FWS    ; "Report"
                %x44.6f.6d.61.69.6e.3a 1*FWS ; "Domain:"
                domain-name 1*FWS            ; from RFC6376
                %x53.75.62.6d.69.74.74.65.72.3a ; "Submitter:"
                1*FWS domain-name 1*FWS
                %x52.65.70.6f.72.74.2d.49.44.3a ; "Report-ID:"
                msg-id                       ; from RFC5322

The first domain-name indicates the DNS domain name about which the report was generated. The second domain-name indicates the DNS domain name representing the Mail Receiver generating the report. The purpose of the Report-ID: portion of the field is to enable the Domain Owner to identify and ignore duplicate reports that might be sent by a Mail Receiver.

12.2.1 Email

In the case of a "mailto" URI, the Mail Receiver SHOULD communicate reports using the method described in [STARTTLS].

The message generated by the Mail Receiver must be a [MIME] formatted [MAIL] message. The aggregate report itself MUST be included in one of the parts of the message. A human-readable portion MAY be included as a MIME part (such as a text/plain part).

The aggregate data MUST be an XML file subjected to GZIP compression. The aggregate data MUST be present using the media type "application/ gzip", and the filenames SHOULD be constructed using the following ABNF:

  filename = receiver "!" policy-domain "!" begin-timestamp "!"
             end-timestamp [ "!" unique-id ] "." extension

  unique-id = token
           ; "token" is imported from [MIME]

  receiver = domain
           ; imported from [MAIL]

  policy-domain = domain

  begin-timestamp = 1*DIGIT
                  ; seconds since 00:00:00 UTC January 1, 1970
                  ; indicating start of the time range contained
                  ; in the report

  end-timestamp = 1*DIGIT
                ; seconds since 00:00:00 UTC January 1, 1970
                ; indicating end of the time range contained
                ; in the report

  extension = "xml" / "gzip"

For the GZIP file itself, the extension MUST be "gz"; for the XML
report, the extension MUST be "xml".

AUTHORS

  • Matt Simerson <msimerson@cpan.org>

  • Davide Migliavacca <shari@cpan.org>

  • Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 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.