Table of Contents

TLS-RPT (SMTP TLS Reporting)

TLS-RPT (SMTP TLS Reporting) is an email security standard specified in RFC 8460 that enables domain owners to receive automated diagnostic reports regarding TLS encryption failures occurring when remote servers attempt to deliver email to their domain.

It works hand-in-hand with MTA-STS and DANE, providing visibility into deliverability issues caused by expired certificates, cipher suite mismatches, or active Man-in-the-Middle (MitM) attacks.


How TLS-RPT Works

When a sending mail transfer agent (MTA) attempts an encrypted SMTP connection to your mail server:

# **DNS Query:** The sending MTA queries DNS for a TXT record located at ''_smtp._tls.yourdomain.com''.
# **Session Monitoring:** The sending MTA attempts to establish a secure connection based on your domain's [[email:dns-configuration:mta-sts|MTA-STS]] or DANE policy.
# **Report Generation:** If a TLS handshake error, certificate expiration, or policy negotiation failure occurs, the sending server logs the details.
# **Report Delivery:** The sending MTA aggregates these failure events into a JSON report and sends it daily to the email address or HTTPS endpoint specified in your TLS-RPT record.

TLS-RPT Record Structure & Syntax

A TLS-RPT record is published as a single DNS TXT record located at the host: _smtp._tls.yourdomain.com

Tag Required / Optional Description Example
v Required Protocol version. Must be TLSRPTv1. v=TLSRPTv1;
rua Required Reporting URI(s) for aggregate reports. Supports email (mailto:) and HTTPS POST endpoints. rua=mailto:tls-rpt@telenegar.ir

Standard Example (Email Reporting)

v=TLSRPTv1; rua=mailto:tls-reports@telenegar.ir;

Advanced Example (Email + HTTPS Webhook)

v=TLSRPTv1; rua=mailto:tls-reports@telenegar.ir,https://tls-rpt.telenegar.ir/v1/submit;

What TLS Reports Contain

TLS-RPT reports are delivered as compressed JSON files (usually GZipped) containing summary details of connection attempts:

Sample JSON Failure Excerpt

 json
{
  "organization-name": "Google Inc.",
  "date-range": {
    "start-datetime": "2026-08-02T00:00:00Z",
    "end-datetime": "2026-08-02T23:59:59Z"
  },
  "policies": [{
    "policy": {
      "policy-type": "sts",
      "policy-string": ["version: STSv1", "mode: enforce", "mx: mail.telenegar.ir"]
    },
    "summary": {
      "total-successful-session-count": 1240,
      "total-failure-session-count": 2
    },
    "failure-details": [{
      "result-type": "certificate-expired",
      "sending-mta-ip": "203.0.113.5",
      "receiving-mx-hostname": "mail.telenegar.ir",
      "failed-session-count": 2
    }]
  }]
}

Why Implement TLS-RPT?


Verification & Testing

You can verify your TLS-RPT record using Telenegar Tools or terminal commands:

Using Telenegar Tools

Using Terminal Commands

dig (Linux / macOS)

 bash
dig +short TXT _smtp._tls.example.com

nslookup (Windows / Cross-platform)

 cmd
nslookup -type=TXT _smtp._tls.example.com