EmailListValidator is an Open Source tool that uses Python to validate email addresses from a file line by line, using threads for concurrent processing. It performs basic syntax checks, MX record lookups, and temporary SMTP connections for verification. It checks for duplicates before validation to avoid redundant processing.
EmailListValidator performs the following checks:
- Syntax Check: Uses the defined regex to validate the email format.
- MX Record Lookup: Extracts the domain from the email address. Uses dns.resolver to query for the Mail Exchanger (MX) record of the domain. This helps identify if a valid mail server exists for the domain.
- SMTP Conversation: Establishes a temporary SMTP connection to the MX server. Sends commands to check if the email address is accepted by the server. (Note: This doesn't guarantee deliverability, but indicates a valid mailbox might exist.)
pip install -r requirements.txt
- Replace email on helper.py Line 13 to your email address before running the program.
- Set debug level to 0 if you want a clean output, change it to 1 if you want to see detailed error messages.
- Replace test emails on input folder.
python main.py 1 1
1. all.txt - List of tested emails
2. result.txt - Progress
3. valid [0-100000].csv - Validated emails