← RFC Reference

RFC 8460: SMTP TLS レポーティング (TLSRPT)

Current Standard Abuse Reporting & Feedback Published March 2026
ELI5: あなたは[MTA-STS](mta-sts)ポリシーを公開して「メールを送信する際は常にTLSを使用する」と述べました。しかし送信者が実際に安全に接続できているかどうかをどうやって知ることができますか?TLSRPTはフィードバック機構です — 送信サーバーはあなたのドメインへの配信時のTLS成功と失敗に関するデータを収集し、問題を発見できるように毎日JSONレポートを送信してくれます。

なぜこれが存在するのか

2つの標準がサーバー間メールのTLSを強制します:MTA-STS(RFC 8461)とDANE(RFC 7672)。両者とも送信サーバーに「このドメインにメールを配信する前に有効なTLS接続を確立する必要があります」と伝えます。しかしTLSネゴシエーションが失敗すると、送信サーバーは平文にフォールバック(悪い)するか配信を拒否(メール喪失)するかのどちらかです。どちらの場合でも、受信ドメインは問題が存在することを知りません。

TLSRPTはこの可視性ギャップを埋めます。ドメイン所有者はTLSレポートをリクエストするDNSレコードを公開し、送信MTAはTLS接続結果を毎日のJSONレポートに集約し、メールまたはHTTPS経由で配信します。

TLSRPTなしでは、MTA-STSを証明書エラー付きでデプロイし、受信メールの相当な割合が拒否されるか安全でない方法で配信されていることに気付かないかもしれません。

仕組み

ステップ1:TLSRPT DNSレコードを公開する

_smtp._tls.yourdomain.comでTXTレコードを追加し、レポートの送信先を指定します:

; メール経由でTLSレポートを送信 _smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:tlsrpt@example.com" ; HTTPS POST経由でTLSレポートを送信 _smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=https://report.example.com/tlsrpt" ; 複数の宛先に送信 _smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:tlsrpt@example.com,https://report.example.com/tlsrpt"

ステップ2:送信サーバーがデータを収集する

送信MTAがあなたのドメインにメールを配信するとき、TLSネゴシエーション結果を記録します:有効な証明書によるセッション成功、ハンドシェイク失敗、証明書不一致、MTA-STSポリシー失敗、DANE検証失敗など。

ステップ3:毎日のレポート配信

送信MTAは1日1回、結果を集約してJSONレポートを送信します。メール経由で配信される場合、report-type=tlsrptmultipart/reportメッセージとして到着します:

Content-Type: multipart/report; report-type=tlsrpt;
    boundary="TLSRPT-001"

--TLSRPT-001
Content-Type: text/plain

SMTP TLSレポート(example.com用)
報告期間:2026-03-10T00:00:00Z~2026-03-11T00:00:00Z

--TLSRPT-001
Content-Type: application/tlsrpt+json

{
  "organization-name": "Sender Corp",
  "date-range": {
    "start-datetime": "2026-03-10T00:00:00Z",
    "end-datetime": "2026-03-11T00:00:00Z"
  },
  "contact-info": "postmaster@sendercorp.com",
  "report-id": "2026-03-10-example.com",
  "policies": [{
    "policy": {
      "policy-type": "sts",
      "policy-string": ["version: STSv1", "mode: enforce",
        "mx: mail.example.com", "max_age: 604800"],
      "policy-domain": "example.com"
    },
    "summary": {
      "total-successful-session-count": 9450,
      "total-failure-session-count": 12
    },
    "failure-details": [{
      "result-type": "certificate-expired",
      "sending-mta-ip": "198.51.100.1",
      "receiving-mx-hostname": "mail.example.com",
      "failed-session-count": 12
    }]
  }]
}

--TLSRPT-001--

主要な技術詳細

DNSレコード形式

タグ 必須 説明
v はい バージョン。TLSRPTv1である必要があります
rua はい レポートURI。メール配信の場合はmailto:、HTTPS POSTの場合はhttps:。複数の宛先の場合はカンマ区切り。

失敗結果タイプ

result-type 意味
starttls-not-supported 受信サーバーがSTARTTLSをアドバタイズしませんでした
certificate-host-mismatch 証明書ホスト名がMXホスト名と一致しません
certificate-expired サーバーのTLS証明書が期限切れです
certificate-not-trusted 証明書が信頼されたCAに署名されていません
validation-failure 一般的なTLS検証失敗
sts-policy-invalid MTA-STSポリシーを取得またはパースできませんでした
sts-webpki-invalid MTA-STSポリシーホスト証明書が無効です
tlsa-invalid DANE TLSAレコードが不正な形式です
dnssec-invalid TLSA検索のDNSSEC検証が失敗しました
dane-required DANEが必要ですがTLSAレコードがありません

ポリシータイプ

policy-type 意味
sts MTA-STSポリシー(RFC 8461
tlsa DANE TLSAレコード(RFC 7672
no-policy-found ドメインのMTA-STSまたはDANEポリシーが見つかりません

よくある間違い

配信可能性への影響

Related RFCs