dns

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

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

Python
#!/usr/bin/env python3
"""
MX Record Checker - Email Domain Validator
Checks MX records for bulk domain validation
"""
import dns.resolver
from concurrent.futures import ThreadPoolExecutor

def check_mx_records(domain):
    """Check MX records for a domain"""
    try:
        mx_records = dns.resolver.resolve(domain, 'MX')
        records = [(r.preference, str(r.exchange).rstrip('.'))
                   for r in mx_records]
        records.sort()

        return {
            'domain': domain,
            'status': 'VALID',
            'mx_count': len(records),
            'records': records
        }
    except dns.resolver.NXDOMAIN:
        return {'domain': domain, 'status': 'INVALID',
                'error': 'Domain does not exist'}
    except dns.resolver.NoAnswer:
        return {'domain': domain, 'status': 'INVALID',
                'error': 'No MX records found'}
    except Exception as e:
        return {'domain': domain, 'status': 'ERROR',
                'error': str(e)}

def bulk_check(domains, max_workers=50):
    """Check multiple domains in parallel"""
    with ThreadPoolExecutor(max_workers=max_workers) as executor:
        results = list(executor.map(check_mx_records, domains))
    return results

if __name__ == '__main__':
    domain = input('Enter domain: ')
    result = check_mx_records(domain)
    print(f"Status: {result['status']}")
    if 'records' in result:
        for priority, server in result['records']:
            print(f"  {priority} {server}")

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

The MX Record Checker validates mail exchange records for email domains. Before sending campaigns, verify that recipient domains can actually receive email.

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

  • Complete MX Resolution - Retrieves all MX records including primary and backup servers
  • Bulk Domain Validation - Process thousands of domains with parallel DNS queries
  • Priority Sorting - Automatically sorts records by priority value
  • Error Detection - Identifies NXDOMAIN, SERVFAIL, and timeout issues
  • CSV Export - Export results for easy integration

Зачем проверять MX?

  • Reduce bounce rates by filtering invalid domains before sending
  • Protect sender reputation from hard bounces
  • Save money on wasted email sends
  • Validate lead quality before importing to CRM

Требования

  • Python 3.7+
  • dnspython library (pip install dnspython)

Pro Tip: Run MX validation before every major email campaign. Domains can lose MX records due to DNS misconfigurations, expired registrations, or business closures.

Статистика

500K+ Проверено доменов
95% Снижение отказов
100/sec Скорость проверки

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

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

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

rocket_launch Start Free Trial