Skip to content
dsh.fish
Bundle

email-deliverability-audit

Four sequential DNS gates (format, dead domain, MX, role/placeholder) classify email addresses as sendable, risky, or dead — with a hard integrity rule: every verdict traces to a query run in that session.

Source
ChenneyZhuang
License
MIT
Updated
Updated 22 hours ago

Readme

# email-deliverability-audit 邮箱可发送性审计

Four sequential DNS gates decide whether an email address can actually receive mail — before your campaign finds out the hard way.

四道顺序 DNS 闸门,在邮件发出之前判定一个地址到底能不能收信。

## Why / 为什么

Bounce rates above ~5% push campaigns into spam folders and burn domain reputation. Most list-cleaning tools hand you a score with no evidence behind it. This skill makes the agent run the checks itself — every verdict traces to a DNS query made during that run, and a failed probe is recorded as `unverified`, never guessed.

退信率超过 ~5%,campaign 就会开始进垃圾箱、烧域名信誉。大多数清洗工具只给一个没有证据的分数。这个 skill 让 agent 自己跑检查——每个判定都能追溯到当次真实 DNS 查询;探测失败就如实记为 `unverified`,绝不猜。

## How it works / 四道闸

```
Gate 1 Format → Gate 2 Dead domain (A/NS) → Gate 3 MX → Gate 4 Role & placeholder
```

| Verdict | Meaning |
|---|---|
| `sendable` | passed all four gates |
| `risky` | passed gates 1–3; role account or placeholder pattern at gate 4 |
| `dead` | failed a gate in 1–3, with the deciding gate recorded |

Batch mode: CSV in, CSV out, output rows match input rows 1:1. Integrity rule: never invent a pass.

批量模式:CSV 进 CSV 出,输出行与输入行 1:1 对应。诚信铁律:绝不编造通过。

## Worked example — a 6-sample DNS audit (2026-09)

| Address | Verdict | Deciding gate |
|---|---|---|
| `name@gmail.com` | sendable | passed all four |
| `team@company.com.au` | sendable | MX present |
| `info@shop.com` | risky | gate 4: role account |
| `13800@example.com` | risky | gate 4: all-digit local part |
| `bad@@example.com` | dead | gate 1: format |
| `site@australia.gov.au` | dead | gate 3: live website, **no MX** |

The last row is the gate-3 lesson in one address: a resolving domain with a healthy website can still be unable to receive mail. The site was up; the mail was not.

最后一行就是 Gate 3 的活教材:域名能解析、网站活得好好的,邮件照样收不了——网站在线,收信离线。

## Install / 安装

```bash
# Claude Code — the clone IS the install
git clone https://github.com/ChenneyZhuang/email-deliverability-audit ~/.claude/skills/email-deliverability-audit
# Hermes
cp -r email-deliverability-audit ~/.hermes/profiles/<profile>/skills/
```

One SKILL.md, zero dependencies beyond `dig` or a Python DNS resolver. Runs on Claude Code, DSH, Hermes, and Codex.

单个 SKILL.md,除 `dig` 或 Python DNS 解析库外零依赖。Claude Code / DSH / Hermes / Codex 通用。

## Honest limitations / 如实说明局限

- Gate 4 flags role accounts as `risky`, not dead — role-account deliverability varies by receiver.
- A passing audit proves the domain can receive mail; it cannot prove this specific mailbox exists (no SMTP RCPT probing).
- The optional `verified_web` column raises confidence; it never upgrades a verdict.

MIT licensed. v0.2.0 — live-tested on real DNS. / MIT 许可,v0.2.0,真 DNS 实测通过。

Install

dsh plugin --profile web add github:ChenneyZhuang/email-deliverability-audit

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source