Skip to content

Email Deliverability Management Library - Email Authentication, Reputation Monitoring, Email List Hygiene, IP Warming Tools & Unified Interface to manage all.

License

Notifications You must be signed in to change notification settings

gagandeep/email_deliverability

Repository files navigation

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 = ["[email protected]", "[email protected]", "[email protected]"]
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 [email protected]
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.

About

Email Deliverability Management Library - Email Authentication, Reputation Monitoring, Email List Hygiene, IP Warming Tools & Unified Interface to manage all.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages