背景与价值


MTA-STS可强制邮件传输使用TLS;TLSRPT可收集失败与报告。统一治理有助于提高送达与安全性。


统一规范


- MTA-STS策略:`version: STSv1`、`mode: enforcetesting`、`mx` 列表与 `max_age`。
  • TLSRPT:`v=TLSRPTv1; rua=mailto:[email protected]`。
  • 域与路径:策略通过 `mta-sts` 子域的HTTPS端点发布。

核心实现


TXT与策略校验


function validTlsRpt(txt: string): boolean { return /^v=TLSRPTv1;\s*rua=mailto:[^\s]+$/i.test(txt) }

type Sts = { version: string; mode: 'enforce'|'testing'; mx: string[]; max_age: number }

function parseSts(s: string): Sts | null {
  const lines = s.split(/\r?\n/).map(l => l.trim()).filter(Boolean)
  const out: any = { mx: [] }
  for (const l of lines) {
    const [k,v] = l.split(':').map(x => x.trim())
    if (k === 'version') out.version = v
    else if (k === 'mode') out.mode = v
    else if (k === 'mx') out.mx.push(v)
    else if (k === 'max_age') out.max_age = Number(v)
  }
  if (out.version !== 'STSv1') return null
  if (!['enforce','testing'].includes(out.mode)) return null
  if (!Array.isArray(out.mx) || out.mx.length === 0) return null
  if (!Number.isInteger(out.max_age) || out.max_age <= 0) return null
  return out as Sts
}

落地建议


  • 在DNS配置TLSRPT并在 `mta-sts` 子域发布STS策略(HTTPS)。
  • 采用 `mode=enforce` 前先以 `testing` 验证并监控报告,逐步切换。

验证清单


  • TLSRPT TXT是否格式正确;STS策略是否包含正确字段与合法值,端点是否可访问。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部