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