← Back to all products

Deliverability Checker

$29

Check SPF, DKIM, and DMARC DNS records to diagnose email deliverability issues.

📁 10 files
MarkdownPythonExcel

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 10 files

deliverability-checker/ ├── LICENSE ├── README.md ├── examples/ │ └── sample_domains.txt ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_quick-start.md │ ├── 03_configuration.md │ └── 04_license.md ├── index.html └── src/ └── deliverability_checker.py

📖 Documentation Preview README excerpt

Deliverability Checker

Check SPF, DKIM, and DMARC DNS records for any domain and diagnose deliverability issues. Know why your emails land in spam.

Features

  • SPF record validation — Parses and validates SPF TXT records, detects too many DNS lookups
  • DMARC record checking — Validates policy, alignment, and reporting configuration
  • DKIM record lookup — Checks DKIM DNS records with multi-selector support
  • MX record resolution — Verifies mail exchange records exist and resolve
  • Deliverability scoring — 0-100 score based on authentication completeness
  • Batch domain checking — Check multiple domains from a file
  • Raw DNS queries — Uses stdlib socket, no dnspython required
  • JSON output — Machine-readable reports for integration into pipelines

Requirements

  • Python 3.10+
  • No external dependencies (stdlib only)

Quick Start


# Check a single domain
python src/deliverability_checker.py example.com

# Verbose output with full record details
python src/deliverability_checker.py example.com --verbose

# Check with a specific DKIM selector
python src/deliverability_checker.py example.com --dkim-selector google

# Check multiple domains from a file
python src/deliverability_checker.py --domains examples/sample_domains.txt --output report.json

Output Format


{
  "domain": "example.com",
  "score": 85,
  "spf": {
    "found": true,
    "record": "v=spf1 include:_spf.google.com ~all",
    "valid": true,
    "issues": []
  },
  "dmarc": {
    "found": true,
    "policy": "reject",
    "alignment": "strict"
  },
  "dkim": {
    "found": true,
    "selector": "google",
    "key_size": 2048
  },
  "mx": {
    "found": true,

*... continues with setup instructions, usage examples, and more.*

📄 Code Sample .py preview

src/deliverability_checker.py #!/usr/bin/env python3 """ Deliverability Checker — Email Arsenal (DataNest) Checks SPF, DKIM, and DMARC DNS records for a domain and diagnoses common deliverability issues. Tells you why your emails land in spam. Usage: python deliverability_checker.py example.com python deliverability_checker.py --domains domains.txt --output report.json python deliverability_checker.py example.com --verbose Dependencies: Python 3.10+ stdlib only License: MIT """ from __future__ import annotations import argparse import json import logging import re import socket import struct import sys from dataclasses import asdict, dataclass, field from datetime import datetime, timezone from enum import Enum from pathlib import Path from typing import Any # --------------------------------------------------------------------------- # Constants # --------------------------------------------------------------------------- logger = logging.getLogger("deliverability_checker") # DNS record types DNS_TYPE_TXT = 16 DNS_TYPE_MX = 15 DNS_TYPE_A = 1 DNS_TYPE_CNAME = 5 # DNS query timeout DNS_TIMEOUT = 5 # seconds # Known SPF mechanisms SPF_MECHANISMS = {"all", "include", "a", "mx", "ptr", "ip4", "ip6", "exists", "redirect"} # DMARC policy values # ... 542 more lines ...
Buy Now — $29 Back to Products