Mail::...d::SMTP(3pm)

πŸ’Œ NAME πŸ’Œ

Okay bestie, this is the Mail::...d::SMTP(3pm) page from the User Contributed Perl Documentation, and the actual module is Mail::DMARC::Report::Send::SMTP β€” literally here for utility methods for sending reports via SMTP. No cap. πŸ’…

✨ VERSION ✨

version 1.20260306 β€” that's the version, bestie, lowkey iconic. 🌸

πŸ“¬ 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

So the first domain-name is the DNS domain name about which the report was generated. The second domain-name is the DNS domain name representing the Mail Receiver that's generating the report. And the whole point of the Report-ID: part of the field? It lets the Domain Owner identify and ignore duplicate reports that might be sent by a Mail Receiver. iykyk 🫢

πŸ“§ 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. Periodt. πŸ’…

πŸ‘‘ AUTHORS πŸ‘‘

  • Matt Simerson <msimerson@cpan.org>
  • Davide Migliavacca <shari@cpan.org>
  • Marc Bradshaw <marc@marcbradshaw.net>

Iconic lineup, fr fr β€” obsessed. 🫢

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


Aaaand that's the tea! β˜• This Mail::...d::SMTP(3pm) page came from perl v5.40.1, dated 2026-07-07 β€” catch you on the flip side, bestie! πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from