---
name: "Mail::DMARC::Report::Send::SMTP"
section: "3pm"
platform: "linux"
package: "libmail-dmarc-perl"
version: "1.20240314-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::DMARC::Report::Send::SMTP"
---

# Mail::DMARC::Report::Send::SMTP(3pm)

utility methods for sending reports via SMTP

## NAME

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

## VERSION

version 1.20240314

### 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.
