Skip to main content

Email Deliverability Management Library

A comprehensive Python library for managing email deliverability, providing tools and guidance for email authentication (SPF, DKIM, DMARC), sender reputation monitoring, email list hygiene, and IP warming.

Features

  • Email Authentication

    • SPF record creation, validation, and analysis
    • DKIM key management and signature verification
    • DMARC policy configuration and reporting
  • Reputation Monitoring

    • IP blacklist checking
    • Feedback loop complaint processing
    • Domain reputation analysis
    • Bounce rate analysis
  • Email List Hygiene

    • Email format validation
    • MX record checking
    • Disposable email detection
    • List quality scoring and recommendations
  • IP Warming Tools

    • Customizable warming schedules
    • Volume distribution by hour
    • Multi-IP warming management
    • Best practice recommendations
  • Unified Facade Interface

    • Comprehensive deliverability checks
    • Simplified access to all tools
    • Actionable recommendations

Installation

pip install email_deliverability

Quick Start

from email_deliverability import DeliverabilityManager

# Initialize the manager with your domain and IP
manager = DeliverabilityManager(domain="example.com", ip="8.8.8.8")

# Analyze authentication setup
auth_results = manager.analyze_domain_setup()
print(f"Authentication Score: {auth_results['overall_score']}/100")

# Check IP reputation
ip_results = manager.check_ip_reputation()
if ip_results['status'] == 'clean':
    print("IP is not listed on any blacklists")
else:
    print(f"IP is listed on {len(ip_results['blacklisted_on'])} blacklists")

# Validate email addresses
emails = ["user@example.com", "invalid@nonexistent.domain", "test@mailinator.com"]
validation_results = manager.validate_email_list(emails)
print(f"List Quality: {validation_results['analysis']['quality_level']}")

# Create an IP warming plan
warming_plan = manager.create_ip_warming_plan(daily_target=10000, warmup_days=30)
print(f"Warming schedule created for {warming_plan['warmup_days']} days")

# Get comprehensive deliverability status
status = manager.check_deliverability_status()
for recommendation in status['recommendations']:
    print(f"- {recommendation}")

Command Line Interface

The library comes with a full-featured command line interface:

# Check domain authentication
email-deliverability auth --domain example.com

# Check IP reputation
email-deliverability reputation --ip 192.0.2.1

# Validate email addresses
email-deliverability validate --email user@example.com
email-deliverability validate --file emails.txt

# Run a comprehensive deliverability check
email-deliverability check --domain example.com --ip 192.0.2.1

# Generate an IP warming plan
email-deliverability warm-ip --ip 192.0.2.1 --days 30 --target 100000

# Update local resource cache
email-deliverability resources update

For full CLI documentation:

email-deliverability --help

Documentation

Full documentation is available at Read the Docs.

Development

# Clone the repository
git clone https://github.com/innerkore/email-deliverability.git
cd email-deliverability

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

# Run tests
python -m unittest discover tests

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for email-deliverability 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for email-deliverability 0.1.3
File Size Uploaded
email_deliverability-0.1.3.tar.gz 41.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for email-deliverability 0.1.3
File Interpreter ABI Platform
email_deliverability-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 84.8 kB

Release files / email_deliverability-0.1.3.tar.gz

Download URL email_deliverability-0.1.3.tar.gz
Size 41.9 kB
Tags Source
SHA-256 checksum
How to use checksums
190d3263b7a977ba71d2b52b9b646b2e33e38548fbe463e147b6e4cbf5bd3cf7
BLAKE2b-256 checksum
How to use checksums
fbba2c904f19e2ddef93390f91e44c38b61bbfeab85bf167eb92cbe90565ca2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.2

Release files / email_deliverability-0.1.3-py3-none-any.whl

Download URL email_deliverability-0.1.3-py3-none-any.whl
Size 42.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f6ab543ecd60df6ab43407052f2769b5e5caa487b72c5902df3b7acb35148cb
BLAKE2b-256 checksum
How to use checksums
1183736ed2da18ae2a0d140ad853fa9c6d992ea0fa01e3084adb0eb468bcfb8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page