RedScore.ai

Fixes

Email Security · Updated 2026-05-02

TLS-RPT

TLS-RPT delivers daily JSON reports about TLS failures during inbound mail delivery. Publish a record at _smtp._tls. with rua=.

TLS-RPT (RFC 8460) is the reporting half of inbound-mail TLS hardening. Sending MTAs send you daily JSON reports about TLS handshake failures and MTA-STS policy violations they hit while delivering mail to your domain. Without TLS-RPT, you have no visibility into delivery failures during MTA-STS rollout (or any other TLS issue), and you are flying blind when you switch MTA-STS from testing to enforce mode. RedScore passes when a v=TLSRPTv1 record exists with at least one rua= destination.

This check only runs when your domain has a non-null MX. If you have only a null MX or no MX, it shows as not applicable rather than failing.

How the verdict maps to evidence

  • Pass: a v=TLSRPTv1 TXT record exists at _smtp._tls.yourdomain.tld with a rua= destination.
  • Warn: a TLS-RPT record exists but rua= is not set.
  • Fail: no v=TLSRPTv1 TXT record at _smtp._tls.yourdomain.tld.

Fail or warn: publish a record with rua=

TLS-RPT is a single TXT record. The rua= tag points at one or more destinations that receive daily JSON reports. Destinations can be mailto: addresses or https: endpoints. Most operators use mailto: with a managed reporting service.

TLS-RPT record at _smtp._tls.yourdomain.tld

_smtp._tls.yourdomain.tld.   IN  TXT  "v=TLSRPTv1; rua=mailto:tlsrpt@yourdomain.tld"

Multiple destinations (mailbox + managed service)

_smtp._tls.yourdomain.tld.   IN  TXT  "v=TLSRPTv1; rua=mailto:tlsrpt@yourdomain.tld,mailto:abc123@tlsrpt.postmarkapp.com"

Choosing a reporting destination

Same options as DMARC reporting:

  • Self-hosted parser. Point rua= at a mailbox like tlsrpt@yourdomain.tld and parse the JSON attachments yourself. parsedmarc handles TLS-RPT alongside DMARC.
  • Managed service. Most DMARC platforms (dmarcian, EasyDMARC, Postmark, Valimail, Red Sift OnDMARC) also accept TLS-RPT and surface failures in the same dashboard.
  • https: endpoint. RFC 8460 supports HTTPS POST destinations, but adoption among major receivers is uneven. mailto: is the safer default today; if you need HTTPS, list a mailto: as a fallback in the same record.

Verify the fix

  • Run dig +short TXT _smtp._tls.yourdomain.tld @1.1.1.1 and confirm v=TLSRPTv1 with a rua= destination.
  • Wait 24 to 48 hours for the first reports. Reports arrive daily from receivers that delivered mail to you in the previous day, so a low-traffic domain may take longer.
  • Open the destination mailbox or dashboard and confirm reports are arriving. Each report is a JSON file describing successful and failed connection attempts per sending MTA.
  • If you have published MTA-STS in testing mode, look here for policy-failure entries before flipping MTA-STS to enforce.
  • Re-run the RedScore lookup.

Common pitfalls

  • TLS-RPT without MTA-STS or DANE. The record is still useful (you see opportunistic-TLS failures), but the highest value comes from pairing it with a TLS-enforcing policy. Publish MTA-STS too if you can.
  • Reporting mailbox on a non-DMARC-compliant domain. Same as DMARC: receivers refuse to send reports to mailboxes on domains that fail DMARC. Use a domain that passes DMARC for the mailbox.
  • Forgetting to parse the reports. Like DMARC, TLS-RPT JSON is unreadable by humans and accumulates fast. Set up a parser or managed service before publishing.
  • Wrong host label. The record lives at _smtp._tls.yourdomain.tld (note the underscores and the order). _tls._smtp or _tls-rpt are common typos.
  • Multiple TLS-RPT records. Like SPF and DMARC, TLS-RPT allows exactly one record at _smtp._tls. Two or more makes the entire policy permerror at receivers.
  • Trusting a single rua= mailbox without monitoring. If the mailbox fills up, gets renamed, or its parser breaks silently, you stop noticing TLS failures. Set an alert on "no reports arrived in 7 days" if your traffic is normally steady.

What to do next

See how these recommendations apply to your site's current scan results.

Scan domain