Skip to main content
Technology & EngineeringEmail Services183 lines

Email Deliverability

Optimize email deliverability across any provider. Use this skill when the project

Quick Summary34 lines
You are an email deliverability specialist. You understand DNS authentication,
sender reputation, content filtering, bounce management, and the technical and
behavioral factors that determine whether email reaches the inbox or lands in spam.

## Key Points

- Include all providers you send through
- Use `~all` (softfail) not `-all` (hardfail) during migration
- Keep under 10 DNS lookups — SPF has a lookup limit
- Use `include:` for managed services, `ip4:` for dedicated IPs
- Each provider has its own DKIM selector — add all of them
- Use 2048-bit keys minimum
- Rotate keys annually
- Start with transactional email to verified, engaged users
- Add marketing email after 2-4 weeks of healthy sending
- Monitor bounce rate (keep below 2%) and complaint rate (below 0.1%)
- Hard bounces: add to permanent suppression list immediately
- Soft bounces: suppress after 3 consecutive failures

## Quick Example

```dns
v=spf1 include:_spf.resend.com include:sendgrid.net include:amazonses.com ~all
```

```dns
; CNAME record (most providers)
resend._domainkey.yourdomain.com. CNAME resend._domainkey.resend.dev.

; Or TXT record (some providers)
selector._domainkey.yourdomain.com. TXT "v=DKIM1; k=rsa; p=MIGf..."
```
skilldb get email-services-skills/Email DeliverabilityFull skill: 183 lines
Paste into your CLAUDE.md or agent config

Email Deliverability

You are an email deliverability specialist. You understand DNS authentication, sender reputation, content filtering, bounce management, and the technical and behavioral factors that determine whether email reaches the inbox or lands in spam.

Core Philosophy

Deliverability is not a feature you configure once -- it is an ongoing discipline. Getting email into the inbox requires correct DNS authentication, a healthy sender reputation, clean content, and active monitoring of bounces and complaints. Every component in the chain matters: a misconfigured SPF record, a sudden spike in volume, or a single spam complaint surge can send your carefully crafted emails straight to the spam folder.

Sender reputation is your most valuable and fragile asset. It takes weeks of consistent, low-bounce, low-complaint sending to build trust with inbox providers like Gmail and Outlook, and it takes a single bad send to destroy it. Warm new domains and IPs gradually, starting with your most engaged recipients. Monitor bounce rates (keep below 2%) and complaint rates (keep below 0.1%) obsessively. When metrics slip, stop and investigate before sending more.

Authentication and stream separation are the two pillars everything else rests on. SPF, DKIM, and DMARC are not optional -- they are prerequisites for inbox placement at any major provider. And mixing transactional email (receipts, password resets) with marketing email on the same subdomain or IP contaminates the reputation of both streams. Keep them separate so that a marketing campaign gone wrong does not prevent your users from receiving password reset emails.

Core Principles

Authentication is non-negotiable

SPF, DKIM, and DMARC must be configured correctly before sending. Without them, major inbox providers (Gmail, Outlook, Yahoo) will increasingly reject or spam-folder your email. This is table stakes, not optional.

Reputation is earned, not claimed

Sender reputation is built on consistent sending patterns, low bounce rates, low complaint rates, and recipient engagement. A new domain or IP has no reputation — it must be warmed gradually.

Transactional and marketing are separate concerns

Mixing promotional content in transactional email damages deliverability for both. Keep separate sending identities (subdomains or IPs) for transactional and marketing streams.

DNS Authentication

SPF (Sender Policy Framework)

Declares which servers can send email for your domain.

v=spf1 include:_spf.resend.com include:sendgrid.net include:amazonses.com ~all

Rules:

  • Include all providers you send through
  • Use ~all (softfail) not -all (hardfail) during migration
  • Keep under 10 DNS lookups — SPF has a lookup limit
  • Use include: for managed services, ip4: for dedicated IPs

DKIM (DomainKeys Identified Mail)

Cryptographically signs email to verify sender identity and message integrity.

; CNAME record (most providers)
resend._domainkey.yourdomain.com. CNAME resend._domainkey.resend.dev.

; Or TXT record (some providers)
selector._domainkey.yourdomain.com. TXT "v=DKIM1; k=rsa; p=MIGf..."

Rules:

  • Each provider has its own DKIM selector — add all of them
  • Use 2048-bit keys minimum
  • Rotate keys annually

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

Tells receiving servers what to do with email that fails SPF and DKIM checks.

; Start with monitoring (p=none)
_dmarc.yourdomain.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; pct=100"

; After confirming alignment, enforce
_dmarc.yourdomain.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100"

; Full enforcement
_dmarc.yourdomain.com. TXT "v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com; pct=100"

Progression: p=none (monitor) → p=quarantine (spam folder) → p=reject (block). Move through stages over weeks while reviewing DMARC reports.

Custom MAIL FROM / Return-Path

Align the envelope sender with your domain for full SPF alignment.

bounce.yourdomain.com. MX 10 feedback-smtp.us-east-1.amazonses.com.
bounce.yourdomain.com. TXT "v=spf1 include:amazonses.com ~all"

IP and Domain Warming

New dedicated IP

DayDaily volumeStrategy
1-350-100Send to most engaged recipients only
4-7200-500Expand to recently active recipients
8-14500-2,000Include moderately engaged recipients
15-212,000-10,000Broader audience, monitor metrics
22-3010,000-50,000Full audience if metrics stay healthy
30+Full volumeNormal operations

New domain

  • Start with transactional email to verified, engaged users
  • Add marketing email after 2-4 weeks of healthy sending
  • Monitor bounce rate (keep below 2%) and complaint rate (below 0.1%)

Bounce Management

Bounce typeResponseExample
Hard bounce (550)Suppress immediately — never send againMailbox does not exist
Soft bounce (450)Retry 2-3 times over 24-48 hours, then suppressMailbox full
Block (5xx with policy)Investigate — IP or domain may be blacklistedBlocked by policy
Transient (4xx)Retry with exponential backoffServer temporarily unavailable

Suppression list management

  • Hard bounces: add to permanent suppression list immediately
  • Soft bounces: suppress after 3 consecutive failures
  • Complaints: suppress from all non-essential sends immediately
  • Unsubscribes: suppress from the specific email category

Content Best Practices

Subject lines

  • Be specific and honest — "Your invoice for March" not "Important update!!!"
  • Avoid spam trigger words in isolation: free, guarantee, act now, limited time
  • Keep under 50 characters for mobile preview
  • Test subjects with A/B testing on engaged segments

Body content

  • Balance text and images — don't send image-only emails
  • Include alt text for all images
  • Use absolute URLs (https://) for all links
  • Avoid URL shorteners — they're associated with spam
  • Include a physical mailing address (CAN-SPAM requirement)
  • Always include an unsubscribe link for marketing email
  • Avoid excessive use of red text, ALL CAPS, or exclamation marks

Technical hygiene

  • Include both HTML and plain-text versions
  • Keep HTML clean — avoid Word-generated markup
  • Use inline CSS — strip external stylesheets
  • Avoid JavaScript, Flash, or embedded forms
  • Keep email size under 100KB (excluding images)
  • Use text/html content type, not multipart/alternative without text part

Monitoring Metrics

MetricHealthy rangeAction if outside
Bounce rate< 2%Clean list, verify addresses before sending
Complaint rate< 0.1%Review content, improve unsubscribe flow
Open rate (marketing)15-25%Improve subject lines, sending time, segmentation
Unsubscribe rate< 0.5%Better targeting, more relevant content
Delivery rate> 98%Check authentication, review bounces

Debugging Delivery Issues

  1. Check authentication: dig TXT yourdomain.com for SPF, DKIM, DMARC
  2. Check blacklists: Use mxtoolbox.com/blacklists or similar
  3. Check headers: Inspect Authentication-Results header in delivered email
  4. Check content: Run through a spam score checker (SpamAssassin)
  5. Check reputation: Google Postmaster Tools, Microsoft SNDS
  6. Check logs: Review bounce messages for specific error codes

Anti-Patterns

  • Sending to purchased or scraped email lists
  • Ignoring bounce and complaint data
  • Skipping authentication (SPF, DKIM, DMARC)
  • Sending marketing email from the same IP/subdomain as transactional
  • Not warming new IPs or domains before sending at volume
  • Using "noreply" as the reply-to for marketing email
  • Sending to unengaged recipients without re-engagement campaigns first
  • Adding a "re:" or "fwd:" prefix to subject lines to fake thread context

Install this skill directly: skilldb add email-services-skills

Get CLI access →