error

code Python verified Бесплатная загрузка devices Кроссплатформенный

code Предпросмотр кода

Python
#!/usr/bin/env python3
"""
Email Bounce Analyzer
Parse and categorize email bounce messages
"""
import re
from enum import Enum

class BounceType(Enum):
    HARD = 'hard_bounce'
    SOFT = 'soft_bounce'
    BLOCKED = 'blocked'
    UNKNOWN = 'unknown'

BOUNCE_PATTERNS = {
    BounceType.HARD: [
        r'user unknown',
        r'mailbox.*not.*found',
        r'does.*not.*exist',
        r'invalid.*recipient',
        r'no such user',
        r'address rejected',
        r'recipient rejected'
    ],
    BounceType.SOFT: [
        r'mailbox.*full',
        r'over.*quota',
        r'temporary.*failure',
        r'try.*later',
        r'service.*unavailable',
        r'connection.*timeout'
    ],
    BounceType.BLOCKED: [
        r'spam',
        r'blacklist',
        r'blocked',
        r'rejected.*policy',
        r'denied',
        r'banned'
    ]
}

def analyze_bounce(email_body):
    """Analyze bounce message and return type"""
    body_lower = email_body.lower()

    for bounce_type, patterns in BOUNCE_PATTERNS.items():
        for pattern in patterns:
            if re.search(pattern, body_lower):
                return bounce_type

    return BounceType.UNKNOWN

def analyze_batch(bounce_messages):
    """Analyze multiple bounce messages"""
    results = {t: [] for t in BounceType}

    for msg in bounce_messages:
        bounce_type = analyze_bounce(msg['body'])
        results[bounce_type].append(msg['email'])

    return results

if __name__ == '__main__':
    sample = "Delivery failed: User unknown"
    print(f"Type: {analyze_bounce(sample).value}")

info Об инструменте

Анализатор bounce-сообщений парсит сообщения об отклонении и категоризирует их по типам. Понимание типов bounce помогает очищать email-список и улучшать доставляемость.

Категории bounce

  • Hard Bounce - Постоянные ошибки (недействительные адреса, несуществующие домены)
  • Soft Bounce - Временные проблемы (переполнен ящик, сервер недоступен)
  • Заблокировано - Отклонено спам-фильтрами или чёрными списками
  • Неизвестно - Нераспознанные паттерны bounce

Ключевые особенности

  • Pattern Matching - Распознаётся 20+ паттернов bounce
  • Пакетная обработка - Анализ множества bounce за раз
  • Извлечение email - Извлекает отклонённые адреса из сообщений
  • Генерация отчётов - Сводная статистика по типам bounce

Требования

  • Python 3.7+
  • Без внешних зависимостей

Важно: Всегда немедленно удаляйте hard bounce. Продолжение отправки повреждает репутацию отправителя.

download Скачать скрипт

Нужна полная автоматизация?

Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией

rocket_launch Start Free Trial