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)
| File | Size | Uploaded | |
|---|---|---|---|
| email_deliverability-0.1.3.tar.gz | 41.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|