关于 email-audit
email-audit 是用于评估域名邮件送达状况的审计技能,面向需要检查邮件认证、基础设施和声誉的团队。它按权重计算健康分数,并整理优先修复项及可直接使用的 DNS 记录建议。
主要功能
- 01检查 SPF、DKIM 和 DMARC
- 02验证 MX、PTR 与 TLS
- 03查询域名及 IP 黑名单
- 04评估批量发件合规要求
- 05计算加权健康分并列出修复项
- 06提供 DNS 记录修改建议
适用场景
- 01上线前检查域名邮件配置
- 02诊断邮件进入垃圾箱的风险
- 03评估每日发送量较大的合规情况
- 04按优先级规划 DNS 修复
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agricidaniel/ claude-email --skill email-audit安装后在 Claude Code 中输入/email-audit确认已加载。
详细介绍
邮件审计子技能
目的
对域名进行全面的邮件送达能力审计。检查 DNS 身份验证记录(SPF、DKIM、DMARC)、基础设施(MX、PTR、TLS)、信誉(黑名单)和群发邮件发送者合规性。生成健康评分(0-100),并提供按优先级排序的修复建议。
输入
- 域名:例如,
rankenstein.cloud、example.com - 可选:邮件发送量(每天发送量达到 5,000 封或以上时,会触发群发邮件发送者合规性检查)
审计类别
1. SPF 记录(权重:10%)
检查内容:
TXT <domain>中存在 SPF 记录- 语法有效:以
v=spf1开头 - DNS 查询次数(最多 10 次,达到 8 次或以上时发出警告)
- 执行级别:
-all(通过)、~all(软失败)、?all(中性)、+all(失败) - 不存在多条 SPF 记录(否则会导致验证失败)
- include 配置高效且必要
命令:
dig txt <domain> +short | grep "v=spf1"
# or
python scripts/check_deliverability.py <domain> --spf
评分:
- 有效 + 硬失败(
-all):100 分 - 有效 + 软失败(
~all):70 分 - 有效 + 中性/全部通过:40 分
- 语法无效或查询次数达到 10 次或以上:20 分
- 缺失:0 分
2. DKIM 记录(权重:15%)
检查内容:
- 至少存在一条有效的 DKIM 记录
- 密钥长度:2048 位(NIST 要求的最低长度)、1024 位(旧版,建议升级)
- 常见选择器:
google、default、selector1、selector2、k1、mandrill、dkim
命令:
dig txt google._domainkey.<domain> +short
dig txt default._domainkey.<domain> +short
dig txt selector1._domainkey.<domain> +short
# Check common selectors
**注意:**如果事先不知道 DKIM 选择器,就无法发现它们。请检查常见选择器,并询问用户其邮件服务提供商是否使用特定选择器。
评分:
- 找到 2048 位密钥:100 分
- 找到 1024 位密钥:70 分
- 密钥无效或强度不足:30 分
- 缺失:0 分
3. DMARC 策略(权重:15%)
检查内容:
TXT _dmarc.<domain>中存在 DMARC 记录- 策略级别:
p=reject(优秀)、p=quarantine(良好)、p=none(监控) - 存在汇总报告(
rua=)标签 - 存在取证报告(
ruf=)标签(可选) - 对齐模式:
aspf=(SPF)和adkim=(DKIM)——宽松或严格 - 百分比(
pct=)应为 100,以完全执行策略
命令:
dig txt _dmarc.<domain> +short
评分:
p=reject+rua+pct=100:100 分p=quarantine+rua:80 分p=none+rua:40 分p=none且无报告:20 分- 缺失:0 分
4. MX 记录(权重:10%)
检查内容:
- 存在有效的 MX 记录
- MX 主机可解析为 IP 地址
- 优先级排序合理
- 邮件服务提供商识别(Google Workspace、Microsoft 365、自定义)
命令:
dig mx <domain> +short
dig a <mx-hostname> +short
评分:
- 有效 + 所有主机均可解析 + 服务提供商已知:100 分
- 有效 + 所有主机均可解析:80 分
- 有效,但部分主机无法解析:40 分
- 缺失或无效:0 分
5. 反向 DNS / PTR(权重:5%)
检查内容:
- MX 服务器 IP 存在 PTR 记录
- PTR 记录与正向 DNS 匹配(主机名一致)
命令:
dig -x <mx-ip> +short
评分:
- 所有 MX IP 均有匹配的 PTR:100 分
- 部分 IP 有 PTR:50 分
- 缺少 PTR:0 分
6. TLS/STARTTLS(权重:10%)
检查内容:
- MX 服务器(端口 25)支持 STARTTLS
- TLS 版本(建议使用 1.2+)
命令:
openssl s_client -starttls smtp -connect <mx-hostname>:25 -brief
**注意:**这可能需要网络访问。如果无法访问,请注明“无法验证”。
评分:
- 使用 TLS 1.2+ 并支持 STARTTLS:100 分
- 使用 TLS 1.0/1.1 并支持 STARTTLS:60 分
- 不支持 STARTTLS:0 分
7. 黑名单检查(权重:20%)
检查内容:
- 在主要黑名单中检查域名和 MX IP 地址:
- Spamhaus(SBL、XBL、PBL)
- Barracuda
- SORBS
- SpamCop
- URIBL
- Invaluement
命令:
# Use checkdmarc library if available
python -c "import checkdmarc; print(checkdmarc.check_domains(['<domain>']))"
# Or manual checks
dig <ip>.zen.spamhaus.org +short
dig <ip>.b.barracudacentral.org +short
评分:
- 所有名单均未列入:100 分
- 列入 1 个次要名单:50 分
- 列入 1 个主要名单(Spamhaus、Barracuda):30 分
- 列入 2 个或以上主要名单:0 分
**重要:**列入任何主要黑名单都会严重影响邮件送达能力。
8. 批量发件人合规性(权重:10%)
适用对象: 每天向 Gmail、Yahoo、Microsoft 收件人发送 5,000 封以上邮件的域名。
要求(Google/Yahoo/Microsoft 2024-2026 规则):
- SPF 和 DKIM 均须通过(不能只通过其中一项)
- DMARC 策略至少为
p=none,并满足对齐要求 - 一键退订标头(RFC 8058:
List-Unsubscribe-Post: One-Click) - 垃圾邮件投诉率低于 0.3%(目标低于 0.1%)
- 正向和反向 DNS 有效(PTR 记录)
- 在 2 个工作日内处理退订
- 标头中不得冒充 Gmail/Yahoo/Microsoft
- 通过 TLS 连接传输邮件
评分:
- 满足全部 8 项要求:100 分
- 满足 6-7 项要求:70 分
- 满足 4-5 项要求:50 分
- 满足项少于 4 项:0 分
9. 其他检查(权重:5%)
加分项:
- BIMI 记录(邮件品牌标识)位于
TXT default._bimi.<domain> - MTA-STS 策略位于
https://mta-sts.<domain>/.well-known/mta-sts.txt - TLSRPT 记录位于
TXT _smtp._tls.<domain>(TLS 报告) - Mail-from 域名对齐(DKIM/SPF 与 From: 域名对齐)
命令:
dig txt default._bimi.<domain> +short
curl https://mta-sts.<domain>/.well-known/mta-sts.txt
dig txt _smtp._tls.<domain> +short
评分:
- 每项加分功能:+25 分(最高 100 分)
健康分数计算
公式:
Total Score = (SPF × 0.10) + (DKIM × 0.15) + (DMARC × 0.15) + (MX × 0.10) +
(PTR × 0.05) + (TLS × 0.10) + (Blacklists × 0.20) +
(Bulk Compliance × 0.10) + (Extras × 0.05)
分数说明:
| 分数 | 评级 | 状态 | 操作 |
|---|---|---|---|
| 90-100 | 优秀 | 所有关键检查均通过,完全合规 | 定期监控 |
| 75-89 | 良好 | 存在轻微问题,通常可正常送达 | 修复中优先级项目 |
| 60-74 | 一般 | 存在可能影响收件箱投递的问题 | 在 1 周内修复高优先级项目 |
| 40-59 | 较差 | 存在严重的送达风险 | 立即修复关键问题 |
| 0-39 | 危急 | 存在重大问题,邮件很可能进入垃圾邮件箱 | 必须紧急修复 |
工作流
步骤 1:收集域名信息
向用户询问:
- 要审计的域名
- 大致邮件发送量(用于触发批量发件人检查)
- 已知的 DKIM 选择器(如果未使用常见选择器)
步骤 2:并行委派
并行启动以下 Agent,以加快审计速度:
Agent 1:email-deliverability
Check DNS authentication records for <domain>:
- SPF record validation
- DKIM record discovery (selectors: google, default, selector1, selector2, k1)
- DMARC policy analysis
- MX record validation
- PTR/reverse DNS check
Return JSON with pass/fail status and raw records.
Agent 2:email-compliance
Check bulk sender compliance for <domain>:
- Verify both SPF and DKIM pass
- Check DMARC alignment
- Note TLS support
- Check for List-Unsubscribe headers (if sample email provided)
Return compliance checklist with met/not met status.
Agent 3:email-reputation(如果有可用工具)
Check reputation for <domain>:
- Blacklist status (Spamhaus, Barracuda, SORBS, SpamCop)
- Historical deliverability issues
- Spam complaint rate (if available)
Return list of blacklist hits and reputation score.
步骤 3:汇总结果
收集所有 Agent 的结果并计算加权健康分数。
步骤 4:生成按优先级排序的修复清单
按优先级对问题分类:
关键(立即修复):
- 被列入黑名单
- 缺少 SPF/DKIM/DMARC
- DNS 记录无效
- MX 记录无法解析
高(在 1 周内修复):
- SPF 执行策略较弱(使用
~all而非-all) - DKIM 密钥为 1024 位(升级至 2048 位)
- DMARC 策略为
p=none(升级至p=quarantine或p=reject) - 缺少 PTR 记录
中(在 1 个月内修复):
- 缺少汇总报告(
rua标签) - 不支持 TLS/STARTTLS
- SPF 即将达到 10 次 DNS 查询上限
- 缺少加分功能(BIMI、MTA-STS、TLSRPT)
步骤 5:生成 DNS 记录建议
提供需要添加或更新的准确 DNS 记录,并给出可直接复制粘贴的值。
输出格式
按以下结构组织审计报告:
- 标题:
## Email Deliverability Audit: [domain],包含日期、健康分数和评级 - 身份验证表:SPF/DKIM/DMARC 的状态、分数和原始记录
- 基础设施表:MX/PTR/TLS 的状态、分数和服务提供商检测结果
- 信誉:Spamhaus、Barracuda、SORBS、SpamCop 的黑名单状态
- 批量发件人合规性:8 项检查清单(Google/Yahoo/Microsoft 规则)
- 加分功能:BIMI、MTA-STS、TLSRPT、Mail-from 对齐
- 按优先级排序的修复清单:关键/高/中级别,包含影响、修复步骤和 DNS 记录
- 待添加的 DNS 记录:可直接复制粘贴的 TXT/MX 记录
- 后续步骤:立即、本周、本月、监控、重新审计
使用“健康分数计算”部分中的权重。使用状态徽章:✅ PASS、⚠️ WARN、❌ FAIL。
工具
运行 python scripts/check_deliverability.py <domain> --json 执行自动 DNS 检查。
手动 DNS 命令(用于上述审计类别):
- SPF:
dig txt <domain> +short - DKIM:
dig txt <selector>._domainkey.<domain> +short - DMARC:
dig txt _dmarc.<domain> +short - MX:
dig mx <domain> +short - PTR:
dig -x <ip> +short - TLS:
openssl s_client -starttls smtp -connect <mx-hostname>:25 -brief
质量门槛
交付审计结果前:
- 完成所有关键检查(SPF、DKIM、DMARC、MX、黑名单)
- 计算健康评分,并按类别细分
- 生成按优先级排序的修复清单,包含具体操作步骤
- 提供 DNS 记录,格式可直接复制粘贴
- 说明评分解读及后续步骤
错误处理
如果 DNS 查询失败:
- 在审计报告中标注“无法验证”
- 提供手动检查说明
- 建议使用其他 DNS 服务器(8.8.8.8、1.1.1.1)
如果 DKIM 选择器未知:
- 检查常见选择器(google、default、selector1、selector2)
- 询问用户其电子邮件服务提供商的 DKIM 选择器
- 标注“未找到 DKIM 选择器——需手动验证”
如果未找到 MX 记录:
- 这是严重故障——域名无法接收电子邮件
- 检查域名是否使用邮件转发(Cloudflare 等)
- 提供电子邮件托管的设置说明
参考资料
按需加载:
references/deliverability-rules.md- 评分阈值和合规规则references/mcp-integration.md- 特定提供商的设置和 DNS 配置references/compliance.md- 合规规则和监管要求
成功标准
满足以下条件时,审计即为成功:
- 健康评分准确反映邮件送达状态
- 明确识别所有关键问题及其严重程度
- 用户收到可实施的 DNS 记录
- 修复优先级与业务影响相符
- 根据评分提供重新审计的时间范围