Blog/ Deliverability & authentication

TLS-RPT Explained: Should You Enable SMTP TLS Reporting?

Nafiul HasanNafiul Hasan· 9 min read
AI Emaily blog cover for TLS-RPT and SMTP TLS Reporting, showing an _smtp._tls DNS record sending daily encryption-in-transit reports back to a sending domain

The short answer

TLS-RPT (SMTP TLS Reporting, RFC 8460) is a DNS TXT record at _smtp._tls that asks other mail servers to send you daily JSON reports on whether their encrypted connections to your domain succeeded or failed. It is worth enabling: it is one low-cost record, it reveals TLS misconfigurations and rare interception attempts, and it pairs with MTA-STS or DANE.

What is TLS-RPT, and should you enable it? How SMTP TLS Reporting works, what a failure report means, and how to add the _smtp._tls record.

On this page
  1. 01What is TLS-RPT?
  2. 02How TLS-RPT works
  3. 03What the record and the reports contain
  4. 04What a TLS-RPT report actually tells you
  5. 05Why it matters, and what you miss without it
  6. 06TLS-RPT vs MTA-STS: how they differ
  7. 07Common misconceptions
  8. 08Where TLS-RPT fits with AI Emaily, and where it doesn't

TLS-RPT, short for SMTP TLS Reporting, answers a narrow question: are other mail servers actually encrypting the mail they send to your domain, and if not, why? This guide covers what TLS-RPT is, how the _smtp._tls record works, what a failure report really tells you, and whether you should enable it on a sending domain. The short answer up front: for most domains, yes — it is one DNS record and it costs nothing to run.

The standard is RFC 8460, published in September 2018. It defines a feedback channel, not an enforcement mechanism. TLS-RPT does not encrypt anything and does not block anything — it collects reports from the servers that send you mail, so you can see whether their connections were secured and catch the misconfigurations that silently drop encryption.

What is TLS-RPT?#

TLS-RPT is a reporting standard for email transport encryption. When one mail server delivers to another over SMTP, it can upgrade the connection to TLS using STARTTLS. That upgrade is normally opportunistic: if it fails, most servers fall back to sending in plaintext rather than not delivering at all. The fallback is invisible to you — the mail arrives, and you never learn it crossed the internet unencrypted.

TLS-RPT closes that visibility gap. By publishing a _smtp._tls TXT record, you ask sending servers to aggregate their TLS results with your domain over each day and mail or POST them back to you as a JSON report. You find out how many sessions were encrypted, how many failed, and which failure occurred.

TLS-RPT reports; MTA-STS enforces

These two are easy to confuse because they ship together. MTA-STS (RFC 8461) is the policy that tells sending servers to require TLS and refuse to fall back to plaintext. TLS-RPT (RFC 8460) is the feedback that tells you whether those connections worked. You can run either alone, but they are designed to be run as a pair.

How TLS-RPT works#

You enable TLS-RPT with a single TXT record under the _smtp._tls subdomain of your domain — what the standard calls the Policy Domain. The value declares the TLS-RPT version and one or more destinations where reports should be sent.

The _smtp._tls TXT record
Host_smtp._tls.example.com
TypeTXT
Valuev=TLSRPTv1; rua=mailto:[email protected]
HTTPS variantv=TLSRPTv1; rua=https://reports.example.com/tlsrpt

What the record and the reports contain#

The rua tag lists where reports go. Two schemes are allowed: mailto: for an email address, and https: for a URL that accepts a POST. You can list several destinations separated by commas. A report sent by mail is DKIM-signed by the reporting organization; a report sent over HTTPS uses the media type application/tlsrpt+gzip.

Each report covers a full UTC day, from 00:00 to 24:00, and usually arrives a few hours after the day closes. The body is JSON in I-JSON form (RFC 7493), normally gzip-compressed. It names the reporting organization, the date range, and one or more policy blocks — each with a count of successful and failed sessions, and the details of any failures.

What a TLS-RPT report actually tells you#

Most of a report is good news: a running count of sessions that negotiated TLS cleanly. The value is in the failure details. Each failure carries a result-type that names exactly what went wrong, the sending server's IP, and the receiving MX host it was trying to reach. RFC 8460 defines a fixed set of result types, split between problems negotiating TLS at all and problems specific to an MTA-STS or DANE policy.

Result typeWhat it meansUsually caused by
starttls-not-supportedThe receiving server offered no STARTTLS, so the session could not be encryptedA misconfigured or downgraded MX — or, rarely, an on-path attacker stripping STARTTLS
certificate-expiredThe receiving MX presented an expired TLS certificateA lapsed certificate renewal on your inbound mail server
certificate-host-mismatchThe certificate did not match the MX hostnameA certificate that omits the MX name, or a wrong MX-to-certificate pairing
certificate-not-trustedThe certificate chain did not validate to a trusted rootA self-signed certificate or an incomplete chain on the receiving MX
validation-failureTLS negotiation failed for another reason, such as no common protocol or cipherAn outdated or misconfigured TLS stack on the receiving server
sts-policy-fetch-error / sts-policy-invalidThe sender could not fetch or could not parse your MTA-STS policyA broken MTA-STS policy file or an unreachable policy host
tlsa-invalid / dnssec-invalidA DANE TLSA record failed to match, or DNSSEC validation failedA stale TLSA record after a certificate rotation, or a DNSSEC signing problem

Why it matters, and what you miss without it#

Without TLS-RPT you have no view of transport encryption on inbound mail. STARTTLS failures are silent: the message still gets delivered, so nothing alerts you that it traveled in plaintext. An expired certificate on your MX, a downgrade by a middlebox, and an active STARTTLS-stripping attack all look identical from your side, which is to say invisible.

  • Certificate problems on your inbound servers, caught before they cause wider TLS failures.
  • Senders who cannot encrypt to you, and whether the cause sits on their side or yours.
  • Broken MTA-STS or DANE policies that are quietly failing validation for real senders.
  • Rare but real interception: a sudden run of starttls-not-supported from senders who normally encrypt can point to an on-path downgrade.

Usually a misconfiguration, occasionally an attack

In practice the large majority of failure reports point to a misconfiguration on the receiving side — an expired certificate, a missing chain, a stale TLSA record. Deliberate interception is the rare case. TLS-RPT does not tell you which one you are looking at; it gives you the evidence, the sending IPs and the MX hostname, to investigate.

TLS-RPT vs MTA-STS: how they differ#

TLS-RPT is often confused with MTA-STS because they are deployed together and both hang off a policy domain. They do opposite jobs. MTA-STS is the policy that changes sender behaviour; TLS-RPT is the reporting channel that observes the result and never touches delivery.

Diagram showing MTA-STS and TLS-RPT as two halves of one deployment: MTA-STS publishes the policy that makes sending servers require TLS, while TLS-RPT collects the daily reports back on whether those TLS connections succeeded or failed
MTA-STS enforces the encryption; TLS-RPT reports whether it held. Most domains deploy both.
DimensionMTA-STS (RFC 8461)TLS-RPT (RFC 8460)
JobEnforces TLS — tells senders to require encryption and not fall backReports — collects daily stats on TLS successes and failures
DNS footprintA _mta-sts TXT record plus an HTTPS-hosted policy fileA single _smtp._tls TXT record
Effect on deliveryCan defer mail when TLS cannot be establishedNone — reporting only, it never blocks a message
What you get backNothing directlyJSON reports from participating senders
Run alone?Yes, but you stay blind to failures without TLS-RPTYes, but it is far more useful paired with a policy

Common misconceptions#

TLS-RPT is small enough to be misread in a few predictable ways. Clearing these up is most of what decides whether it is worth your time.

  • "It encrypts my mail." No. TLS-RPT reports; it changes nothing about how mail is sent. STARTTLS does the encrypting, and MTA-STS or DANE decides whether to require it.
  • "I need MTA-STS first, or it does nothing." No. TLS-RPT is independent. Without a policy you still receive reports — sessions simply show a policy-type of no-policy-found and you lose the policy-specific signal.
  • "A failure means someone is intercepting my mail." Usually not. Most failures are your own certificate or configuration.
  • "Turning it on could break delivery." It cannot. TLS-RPT never affects whether a message is delivered; only MTA-STS or DANE can defer mail.
  • "I will drown in reports." Only senders that support TLS-RPT send them, at most one per day per reporting organization. The volume is low, and it comes mostly from the large providers.

Where TLS-RPT fits with AI Emaily, and where it doesn't#

TLS-RPT lives at the DNS and mail-server layer, and reading its reports is the job of a DMARC or TLS-RPT monitoring platform, not a mail client. AI Emaily does not publish your _smtp._tls record, collect TLS-RPT reports, or parse them. If that is your task, point your rua at a dedicated reporting service or your own endpoint — we are not a deliverability tester or a DMARC monitor, and we will not pretend to be.

The adjacent thing we do care about is encryption on your side of the mailbox, which is what TLS-RPT is ultimately measuring on the wire. AI Emaily connects to your Gmail, Outlook or IMAP account over TLS, keeps stored message bodies in encrypted object storage, and envelope-encrypts sensitive credentials so they are never logged in the clear — the details are on our encryption page. And because transport TLS is really about trusting the sender, AI Emaily reads inbound authentication results to flag spoofed and phishing mail in the inbox you actually read. We build AI Emaily; it runs on a 7-day free trial on the Pro and Autopilot plans, you can compare plans on the pricing page, and the homepage has the full picture.

Frequently asked

Nafiul Hasan

Written by

Nafiul Hasan

Nafiul Hasan is an entrepreneur and AI automation system builder with 10+ years of experience turning messy, manual workflows into reliable automated systems. He designs and ships AI enterprise solutions end-to-end — the agent logic, the data plumbing, and the product people actually use — and founded AI Emaily to give busy professionals their attention back. He writes here from the builder's seat: what works, what breaks, and how to put AI to work without giving up control.

EntrepreneurAI Automation System BuilderAI EnthusiastBuilds AI Enterprise Solutions10+ years experience
More from Nafiul
Ready when you are

TLS reporting watches the wire. AI Emaily watches the inbox.

TLS-RPT tells you whether mail reached you encrypted; it can't tell you the encrypted message is a phishing attempt. AI Emaily reads inbound authentication results to flag spoofed senders — with approve-before-send, undo and a full audit trail. Try it on a 7-day free trial.

  • 7-day free trial
  • Cancel anytime
  • Every provider