协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
email-deliverability-debugger【开发与工程】Diagnoses email deliverability problems for transactional and marketing emails. Checks SPF/DKIM/DMARC alignment, sending IP reputation, email content spam triggers, and bounce patterns. Use when emails land in spam, go missing, or bounce unexpectedly. Trigger words: email spam, deliverability, emails not arriving, bounce rate, spam folder, email repu…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
This skill systematically diagnoses why emails fail to reach inboxes by checking the entire delivery chain: DNS authentication (SPF, DKIM, DMARC), sending IP reputation, email content, headers, and provider-specific configuration. It produces actionable fixes ranked by impact.
# SPF record
dig +short TXT example.com | grep "v=spf1"
# DKIM (check common selectors)
for sel in s1 s2 k1 google default sendgrid; do
dig +short TXT ${sel}._domainkey.example.com
done
# DMARC
dig +short TXT _dmarc.example.com
Validate each:
-all (hardfail)p=quarantine or p=reject; p=none provides no protectionSPF has a hard limit of 10 DNS lookups. Count each include:, a:, mx:, and redirect= as 1 lookup. Nested includes count too.
# Check SPF record and count includes
dig +short TXT example.com | grep spf
# Then recursively check each include
dig +short TXT _spf.google.com
dig +short TXT sendgrid.net
If at or near 10, recommend SPF flattening or removing unused services.
Key headers to check:
Authentication-Results: Shows SPF, DKIM, DMARC pass/failX-MS-Exchange-Organization-SCL: Microsoft spam confidence (0-9, >5 = spam)X-Spam-Score: Generic spam scoreReceived-SPF: SPF result with detailDKIM-Signature: Which domain signed and which selector usedReturn-Path: Must align with From domain for SPF alignmentQuery major blacklists:
# Reverse IP for DNSBL queries (e.g., 1.2.3.4 becomes 4.3.2.1)
REVERSED="4.3.2.1"
for bl in zen.spamhaus.org b.barracudacentral.org bl.spamcop.net; do
dig +short ${REVERSED}.${bl}
done
# Non-empty result = listed on that blacklist
Common blacklists to check: Spamhaus, Barracuda, SpamCop, SORBS, CBL, URIBL.
Flag common spam triggers:
List-Unsubscribe headerOrganize by priority:
Include exact DNS records to add/modify and provider-specific configuration steps.
User prompt:
Our emails to Gmail users are going to spam. Domain: notifications.myapp.com
Agent output:
Deliverability Audit — notifications.myapp.com
❌ CRITICAL: DMARC alignment failure
From: notifications.myapp.com
Return-Path: bounces.sendgrid.net (different domain)
→ SPF passes for sendgrid.net but doesn't align with From domain
Fix: Configure SendGrid authenticated domain so Return-Path uses your domain
⚠ HIGH: DMARC policy too weak
Current: v=DMARC1; p=none
→ Gmail honors DMARC but p=none means failures aren't acted on
Fix: v=DMARC1; p=quarantine; rua=mailto:dmarc@myapp.com; pct=100
✅ SPF: Valid (7 lookups)
✅ DKIM: Valid (s1 selector, 2048-bit)
✅ IP reputation: Clean on all major blacklists
Priority fix order:
1. Configure SendGrid domain authentication (fixes Return-Path alignment)
2. Update DMARC to p=quarantine
3. Monitor DMARC reports for 2 weeks before moving to p=reject
User prompt:
Getting 550 5.7.1 rejections from outlook.com. What's wrong?
Agent output:
550 5.7.1 from Outlook = message rejected due to content or policy
Diagnosis checklist:
1. ✅ SPF passes for your domain
2. ❌ DKIM signature uses d=sendgrid.net, not your domain
→ Microsoft strict mode rejects misaligned DKIM
3. ❌ Your sending IP 149.72.x.x is on Spamhaus PBL
→ This is a policy listing, not spam — means IP is flagged as dynamic/cloud
Fixes:
1. Set up DKIM custom domain in SendGrid (Settings → Sender Authentication)
Add CNAMEs: s1._domainkey.yourdomain.com → s1.domainkey.u1234.wl.sendgrid.net
2. Request Spamhaus PBL removal at spamhaus.org/pbl/query/
3. After fixes, use mail-tester.com to verify score >8/10 before bulk sending
rua aggregate reports