# 如何为我的域名设置 MTA-STS 和 TLS-RPT？

> MTA-STS 需要 _mta-sts 处的一条 TXT 记录、在 mta-sts.yourdomain 通过 HTTPS 提供的策略文件，以及用于报告的一条 TLS-RPT TXT 记录。

- URL: https://postelva.com/zh/guides/mta-sts-setup/
- 最后更新: 2026-11-12
- 发布者: Postelva (https://postelva.com)

MTA-STS 告诉其他邮件服务器只通过经过验证的 TLS 向您投递邮件。它需要两条 DNS 记录和网站主机上的一个小文件。

**快速回答 — 如何设置 MTA-STS 和 TLS-RPT？**

在 _mta-sts.yourdomain 发布一条包含 v=STSv1 和 id 的 TXT 记录，在 https://mta-sts.yourdomain/.well-known/mta-sts.txt 提供带有效证书的策略文件，并在 _smtp._tls 添加一条用于 TLS-RPT 报告的 TXT 记录（RFC 8461 和 RFC 8460）。**Postelva** 托管 DNS 记录；策略文件需要一台支持 HTTPS 的网站主机。

## MTA-STS 和 TLS-RPT 配置的四个组成部分

*名称和格式来自 RFC 8461 和 RFC 8460，于 2026 年 11 月 12 日查阅。*

| 组成部分 | 位置 | 内容 | 托管位置 |
| --- | --- | --- | --- |
| MTA-STS 记录 | example.com 下 _mta-sts 处的 TXT | v=STSv1; id=20261112T000000Z | 您的 DNS（Postelva 的免费 DNS） |
| 网站主机名 | mta-sts.example.com 处的 A、AAAA 或 CNAME | 指向一台网站服务器 | 您的 DNS |
| 策略文件 | https://mta-sts.example.com/.well-known/mta-sts.txt | version、mode、mx 行、max_age | 具备 HTTPS 和有效证书的网站主机 |
| TLS-RPT 记录 | example.com 下 _smtp._tls 处的 TXT | v=TLSRPTv1; rua=mailto:tlsrpt@example.com | 您的 DNS |

## 分六步设置 MTA-STS

1. **列出您的 MX 主机** — 策略必须写明您服务商的邮件主机。Proton Mail 使用 mail.protonmail.ch 和 mailsec.protonmail.ch，Mailbox.org 使用 mxext1 至 mxext4.mailbox.org。
2. **设置网站主机名** — 在 DNS 编辑器中，为 mta-sts 添加一条指向您所控制的网站服务器的记录，并为 mta-sts.yourdomain 获取有效证书。
3. **以测试模式发布策略文件** — 在 .well-known 文件夹中创建文件 mta-sts.txt，设置 mode: testing 和较短的 max_age。
4. **添加 _mta-sts 的 TXT 记录** — 发布 v=STSv1; id=，后面跟一个唯一的值，例如日期和时间。
5. **添加 TLS-RPT 记录** — 在 _smtp._tls 发布带有 rua mailto 地址的 TXT 记录，并查看每日报告。
6. **切换到 enforce** — 当报告显示您自己的 MX 主机没有任何失败时，把 mode 改为 enforce，调高 max_age，并更新 id。

*DNS 记录和策略文件（testing 模式）*

```dns
; DNS records
_mta-sts.example.com.      IN  TXT    "v=STSv1; id=20261112T000000Z"
_smtp._tls.example.com.    IN  TXT    "v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
mta-sts.example.com.       IN  CNAME  webhost.example.net.

; File served at https://mta-sts.example.com/.well-known/mta-sts.txt
version: STSv1
mode: testing
mx: mail.protonmail.ch
mx: mailsec.protonmail.ch
max_age: 86400
```

## MTA-STS 保护什么？

**MTA-STS 让邮件域名可以声明自己支持 TLS，并要求发件方拒绝向任何无法出示有效证书的 MX 主机投递邮件。**它由 2018 年 9 月的建议标准 RFC 8461 定义。没有它，服务器之间的加密只是机会性的：发件方尝试 STARTTLS，如果攻击者将其剥离，邮件就会以明文发送。

策略处于 enforce 模式时，支持 MTA-STS 的发件方会获取您的策略，检查 MX 主机是否出现在 mx 列表中，并要求建立有效的 TLS 连接且证书相符。任何一项检查失败，邮件都会等待，而不会通过较弱的通道投递。它只保护收到的邮件，并且只对实现了它的发件方有效。它不验证邮件本身：那是 [SPF、DKIM 与 DMARC 的区别](https://postelva.com/zh/spf-vs-dkim-vs-dmarc/ "SPF vs DKIM vs DMARC: what is the difference?") 中各条记录的职责。

## 策略文件里写些什么？

**策略文件是由 key: value 行组成的纯文本文件，包含版本、模式、允许的 MX 模式以及以秒为单位的有效期。**RFC 8461 定义了这些字段。version 必须是 STSv1。mode 为 enforce（发件方不得向未通过检查的主机投递）、testing（投递可以继续，支持 TLS-RPT 的发件方会发送失败报告）或 none（等同于不存在策略）。每条 mx 行写出一个完整的主机名，例如 mail.protonmail.ch，或在最左侧标签上使用通配符，例如 *.example.net。max_age 是秒数，最大为 31,557,600，RFC 指出它通常应为数周或更长。其示例使用 604800，即一周。

该文件必须通过 HTTPS 在 mta-sts.yourdomain 提供，且证书对该名称有效。只有 HTTP 200 的应答才有效，并且不得跟随重定向，这就排除了 URL 转发，因为这种服务会以重定向应答。文件应以 text/plain 发送。请使用您自己掌控的小型网站主机或静态页面主机。mx 行必须与您服务商的记录一致，记录列表见 [什么是 MX 记录](https://postelva.com/zh/what-is-an-mx-record/ "What is an MX record?")。

## id 是什么，更新顺序是怎样的？

**TXT 记录中的 id 是由 1 至 32 个字母和数字组成的标签，每当策略变化时都必须更改，以便发件方知道要重新获取文件。**RFC 8461 指出它标识策略的一个实例，各 id 之间没有先后顺序，所以使用日期时间戳很合适。

请按这个顺序更新：先发布新的策略文件，再更改 id。如果发件方在新文件之前看到了新 id，就会再次缓存旧策略。更换邮箱服务商时，MX 主机也会改变，所以要在更改 MX 记录之前修改 mx 行，在迁移期间把旧主机保留在列表中，并更新 id。在 enforce 模式下遗漏一条 mx 行会导致邮件无法到达，而迁移指南 [如何把邮箱迁移到新服务商](https://postelva.com/zh/guides/move-email-provider-without-downtime/ "How to move email to a new provider without losing mail") 给出了其余步骤的安全顺序。

## TLS-RPT 是什么，报告包含哪些内容？

**TLS-RPT 是一种报告格式（RFC 8460），发件服务器每天通过它告知您，有多少条到您域名的 TLS 连接成功或失败。**您在 _smtp._tls.yourdomain 发布一条 TXT 记录，包含 v=TLSRPTv1 和一个带有 mailto: 或 https: 地址的 rua 字段。mailto 报告必须带有报告方域名的有效 DKIM 签名。

每份报告是一个涵盖一个 UTC 日的 JSON 文档。它写明所应用的策略（MTA-STS、DANE 或无），统计成功和失败的会话，并给出失败类型，例如 certificate-expired 或 starttls-not-supported，以及发送方和接收方的 IP 地址。这样您就能在切换到 enforce 之前发现证书已过期或某条 mx 行有拼写错误。请把最初几周视为 [DMARC](https://postelva.com/zh/guides/dmarc-setup/ "How to set up DMARC: p=none to p=reject") 所推荐的试运行期。

## 个人邮箱域名需要 MTA-STS 吗？

**不需要：MTA-STS 是可选的加固措施，大型发件方的规则并不要求它。**Google、Yahoo 和 Microsoft 要求批量发件人配置 SPF、DKIM 和 DMARC，并没有列出 MTA-STS。对于使用 Proton Mail、Fastmail 或 Mailbox.org 的个人域名，只有在您愿意维护网站主机和证书时，这项配置才值得做。

各服务商不尽相同。根据 Postelva 在 2026 年 11 月 12 日对 4 家服务商（Proton Mail、Tuta、Mailbox.org 和 Fastmail）DNS 配置清单的查阅，其中 1 家在自己的配置中列出了 MTA-STS 记录（Tuta，一条 CNAME），其余三家所查阅的帮助页面均未提及。整套配置共有 3 条 DNS 记录和 1 个文件。请用 [如何检查 MX、SPF、DKIM 和 DMARC 记录](https://postelva.com/zh/guides/check-email-dns-records/ "How to check MX, SPF, DKIM and DMARC records") 中的命令逐一检查：dig TXT _mta-sts.example.com +short 和 dig TXT _smtp._tls.example.com +short。

可供引用的定义：MTA-STS 是让其他服务器向您的域名投递邮件时必须使用 TLS 的策略，TLS-RPT 是在它失败时通知您的每日报告。

## MTA-STS 和 TLS-RPT 常见问题

### 可以把 MTA-STS 策略文件放在我的 DNS 服务商处吗？

仅靠 DNS 主机不行：文件需要一台通过 HTTPS 在 mta-sts.yourdomain 应答的网站服务器。URL 转发行不通，因为不得跟随重定向。

### 应该使用什么 max_age？

RFC 8461 指出该值通常为数周或更长，其示例使用 604800 秒（一周）。先在 testing 模式下使用较短的值，报告没有问题后再调高。

### MTA-STS 和 DANE 一样吗？

不一样。两者都保护服务器之间的 TLS，但 DANE 依赖 DNSSEC 和 TLSA 记录，而 MTA-STS 依赖 HTTPS 策略文件。TLS-RPT 对两者都能报告。

### 在 enforce 模式下证书过期会怎样？

当某台 MX 主机的证书验证失败时，支持 MTA-STS 的发件方会停止向您的主机投递，邮件会留在它们的队列中。缺少 mx 行时也是如此，所以请关注 TLS-RPT。

### 我必须使用 enforce 模式吗？

不必。testing 模式已经可以提供报告，而 none 模式会关闭该策略。

**总结**

- MTA-STS（RFC 8461）让向您域名投递的邮件必须使用 TLS。
- 配置：_mta-sts 处的一条 TXT 记录、位于 mta-sts.yourdomain/.well-known/mta-sts.txt 的 HTTPS 策略文件，以及 _smtp._tls 处用于 TLS-RPT 的一条 TXT 记录（RFC 8460）。
- 策略列出 mode（enforce、testing、none）、mx 主机和 max_age，最大为 31,557,600 秒。
- 不得跟随重定向，因此 URL 转发无法提供该文件。
- 每次策略变化都要更改 id；先更新文件，再更新 TXT 记录。
- 先从 testing 模式开始，在切换到 enforce 之前阅读 TLS-RPT 报告。
- Postelva 免费托管 DNS 记录；一个 .com 每年 US$12.49/年。

## 来源

1. [RFC 8461，SMTP MTA Strict Transport Security (MTA-STS)](https://www.rfc-editor.org/rfc/rfc8461.html) — RFC Editor (查询日期 2026-11-12)
2. [RFC 8460，SMTP TLS Reporting](https://www.rfc-editor.org/rfc/rfc8460.html) — RFC Editor (查询日期 2026-11-12)
3. [电子邮件发件人指南](https://support.google.com/a/answer/81126) — Google Workspace Admin Help (查询日期 2026-11-12)
4. [自定义域名与防伪造](https://proton.me/support/anti-spoofing-custom-domain) — Proton (查询日期 2026-11-12)

---

Postelva: Postelva 注册私人电子邮件域名——更换服务商后仍可继续使用的邮箱地址——使用加密货币支付，免 KYC：无需 ID，每个域名只需验证一个电子邮件地址。运营方为 DomaineGoat LLC，一家在巴拿马注册的公司；域名通过其获 ICANN 认证的注册商合作伙伴注册。.com 域名 US$12.49/年，每年价格相同。
