-
✅ Dual Verification Modes:
- API Mode: Fast and accurate verification using the VerifyRight API
- Standalone Mode: Independent verification using DNS and SMTP checks
-
📊 Comprehensive Reporting:
- Filtered CSV output containing only valid emails
- Detailed text and JSON reports with verification statistics
- Visual charts (bar/pie) showing valid vs. invalid email ratios
-
🛠️ Advanced Verification Methods:
- Email format validation using RFC 5322 compliant regex
- Domain verification through MX record lookups
- Mailbox existence checking via SMTP handshake
-
💻 User Experience:
- Professional ASCII art banner
- Animated progress indicators
- Colored terminal output for better readability
- Detailed progress tracking
- Python 3.6+
- Required Python packages:
pip install dnspython requests matplotlib tqdm colorama art
- Clone this repository or download the
email_verifier.py
file - Prepare your email list in a CSV file (one email per line)
- Run the tool:
python email_verifier.py your_emails.csv
python email_verifier.py input_file.csv
This will verify emails in standalone mode and generate all reports in the output
directory.
To use the VerifyRight API for verification:
python email_verifier.py input_file.csv --api-token YOUR_API_TOKEN --use-api
--output-dir OUTPUT_DIR Custom output directory (default: 'output')
--chart-type {bar,pie} Type of chart to generate (default: 'bar')
--report-format {text,json,both} Report format (default: 'both')
--no-progress Disable progress bar
--no-animation Disable ASCII animations
Verify emails with pie chart output:
python email_verifier.py emails.csv --chart-type pie
Verify emails using API with JSON report only:
python email_verifier.py emails.csv --api-token YOUR_API_TOKEN --use-api --report-format json
Run in a script without animations:
python email_verifier.py emails.csv --no-animation --no-progress
The tool generates the following output files:
valid_emails.csv
: List of all verified valid emailsemail_report.txt
: Text report with verification statisticsemail_report.json
: JSON report with verification statisticsreport.png
: Visual chart (bar or pie) showing verification results
- Format Check: Validates email format using RFC 5322 compliant regex
- Domain Check: Verifies if the domain has valid MX records
- Mailbox Check: Attempts SMTP handshake to verify mailbox existence
Uses the VerifyRight API service to verify emails:
https://verifyright.co/verify/{email}?token={token}
- CSV files with one email per line
- Email files (.eml) - the tool will extract all email addresses from the content
You can easily integrate this tool into your workflow:
# Example: Verify emails and then use the valid ones in another script
python email_verifier.py customer_list.csv
python send_newsletter.py output/valid_emails.csv
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email theopensource212@gmail.com or open an issue on the GitHub repository.
Made with ❤️ by Ilyass Basbassi