format_align_left

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

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

Python
#!/usr/bin/env python3
"""
Email Normalizer
Standardize email addresses across your lists
"""
import re

def normalize_email(email):
    """Normalize a single email address"""
    email = email.strip().lower()

    # Split local and domain parts
    if '@' not in email:
        return None

    local, domain = email.rsplit('@', 1)

    # Gmail-specific: remove dots and plus addressing
    if domain in ['gmail.com', 'googlemail.com']:
        local = local.replace('.', '')
        if '+' in local:
            local = local.split('+')[0]
        domain = 'gmail.com'  # Normalize googlemail

    # Common domain fixes
    domain_fixes = {
        'gmial.com': 'gmail.com',
        'gmai.com': 'gmail.com',
        'hotmal.com': 'hotmail.com',
        'yaho.com': 'yahoo.com',
    }
    domain = domain_fixes.get(domain, domain)

    # Remove leading/trailing spaces and dots
    local = local.strip('.')
    domain = domain.strip('.')

    return f"{local}@{domain}"

def normalize_list(emails):
    """Normalize a list of emails"""
    normalized = []
    for email in emails:
        result = normalize_email(email)
        if result:
            normalized.append(result)
    return list(set(normalized))  # Remove duplicates

if __name__ == '__main__':
    import sys
    emails = open(sys.argv[1]).read().splitlines()
    normalized = normalize_list(emails)
    print(f"Original: {len(emails)}, Normalized: {len(normalized)}")

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

Нормализатор email стандартизирует email-адреса до канонической формы. Обрабатывает Gmail-трюки с точками, plus-адресацию, распространённые опечатки и нормализацию регистра.

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

  • Gmail-нормализация - Удаляет точки и plus-теги из Gmail-адресов
  • Исправление опечаток - Исправляет распространённые опечатки в доменах (gmial, hotmal и др.)
  • Нормализация регистра - Преобразует все email в нижний регистр
  • Очистка пробелов - Удаляет пробелы и невидимые символы
  • Дедупликация - Определяет дубликаты после нормализации

Правила нормализации

  • john.doe@gmail.com = johndoe@gmail.com
  • john+promo@gmail.com = john@gmail.com
  • User@DOMAIN.COM = user@domain.com
  • user@gmial.com = user@gmail.com

Требования

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

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

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

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

rocket_launch Start Free Trial