checklist
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
Email List Validator - Bulk Email Validation
Validates emails with syntax and MX checks
"""
import re
import dns.resolver
from concurrent.futures import ThreadPoolExecutor
EMAIL_PATTERN = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
def validate_syntax(email):
"""Check email syntax with regex"""
return bool(re.match(EMAIL_PATTERN, email))
def check_mx_record(domain):
"""Check if domain has MX records"""
try:
dns.resolver.resolve(domain, 'MX')
return True
except:
return False
def validate_email(email):
"""Full email validation"""
email = email.strip().lower()
if not validate_syntax(email):
return {'email': email, 'valid': False, 'reason': 'Invalid syntax'}
domain = email.split('@')[1]
if not check_mx_record(domain):
return {'email': email, 'valid': False, 'reason': 'No MX records'}
return {'email': email, 'valid': True, 'reason': 'Valid'}
def validate_bulk(emails, max_workers=50):
"""Validate multiple emails in parallel"""
with ThreadPoolExecutor(max_workers=max_workers) as executor:
results = list(executor.map(validate_email, emails))
return results
if __name__ == '__main__':
import sys
emails = open(sys.argv[1]).read().splitlines()
results = validate_bulk(emails)
valid = sum(1 for r in results if r['valid'])
print(f"Valid: {valid}/{len(results)}")
info Об инструменте
Валидатор списков email выполняет массовую проверку email-адресов с помощью regex-валидации синтаксиса и проверки DNS MX-записей. Очистите списки email перед кампаниями для снижения bounce rate.
Ключевые особенности
- Валидация синтаксиса - RFC-compliant regex pattern matching
- Проверка MX-записей - Проверяет, может ли домен получать email
- Параллельная обработка - Быстрая массовая валидация с многопоточностью
- Детальные результаты - Показывает причину для каждого невалидного email
- Экспорт в CSV - Экспорт результатов со статусом валидный/невалидный
Проверки валидации
- Синтаксис формата email (local@domain.tld)
- Существование домена
- Наличие MX-записей
- Обнаружение распространённых опечаток
Требования
- Python 3.7+
- dnspython (
pip install dnspython)
Примечание: MX-валидация проверяет, может ли домен получать email, но не проверяет существование конкретного почтового ящика. Используйте SMTP-верификацию для более глубокой проверки.
Статистика
1M+
Email проверено
50/sec
Скорость валидации
99%
Точность
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial