analytics
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
Email Deliverability Report Generator
Comprehensive analysis of email authentication
"""
import dns.resolver
def check_spf(domain):
"""Check SPF record"""
try:
records = dns.resolver.resolve(domain, 'TXT')
for r in records:
txt = ''.join([s.decode() for s in r.strings])
if txt.startswith('v=spf1'):
return {'status': 'PASS', 'record': txt}
return {'status': 'FAIL', 'error': 'No SPF record'}
except Exception as e:
return {'status': 'ERROR', 'error': str(e)}
def check_dmarc(domain):
"""Check DMARC record"""
try:
records = dns.resolver.resolve(f'_dmarc.{domain}', 'TXT')
for r in records:
txt = ''.join([s.decode() for s in r.strings])
if txt.startswith('v=DMARC1'):
return {'status': 'PASS', 'record': txt}
return {'status': 'FAIL', 'error': 'No DMARC record'}
except Exception as e:
return {'status': 'ERROR', 'error': str(e)}
def check_mx(domain):
"""Check MX records"""
try:
records = dns.resolver.resolve(domain, 'MX')
mx_list = [(r.preference, str(r.exchange)) for r in records]
return {'status': 'PASS', 'records': mx_list}
except Exception as e:
return {'status': 'FAIL', 'error': str(e)}
def generate_report(domain):
"""Generate full deliverability report"""
return {
'domain': domain,
'spf': check_spf(domain),
'dmarc': check_dmarc(domain),
'mx': check_mx(domain)
}
if __name__ == '__main__':
domain = input('Enter domain: ')
report = generate_report(domain)
print(f"SPF: {report['spf']['status']}")
print(f"DMARC: {report['dmarc']['status']}")
print(f"MX: {report['mx']['status']}")
info Об инструменте
Генератор отчёта о доставляемости создаёт комплексные отчёты о здоровье email, анализируя записи SPF, DKIM, DMARC и конфигурацию MX. Получите практические рекомендации для улучшения доставляемости.
Выполняемые проверки
- Анализ SPF - Проверяет запись Sender Policy Framework и количество DNS-запросов
- Проверка DKIM - Проверяет селектор DKIM и наличие публичного ключа
- Валидация DMARC - Анализирует настройки политики и адреса отчётов
- MX Records - Проверяет конфигурацию почтового сервера и приоритет
- Сканирование чёрных списков - Запросы к основным сервисам чёрных списков
Вывод отчёта
- Общая оценка доставляемости (0-100)
- Статус прохождения/провала для каждой проверки
- Найденные проблемы
- Рекомендации по улучшению
- Опции экспорта в HTML и JSON
Требования
- Python 3.7+
- dnspython (
pip install dnspython)
Применение: Запускайте этот отчёт еженедельно для мониторинга здоровья email домена и выявления проблем до влияния на доставляемость.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial