This Python package provides a tool to validate email addresses by checking their syntax, MX records, whether they belong to disposable email provider domains, catchall status, and if the email exists (is deliverable).
Project description
📋 Email Verifier
Introduction
This project aims to validate email addresses by checking their syntax, MX records, whether they belong to disposable email provider domains, catchall status, and if the email exists (is deliverable). It utilizes various Python packages and scripts to perform these validations.
Key Features
- Syntax and Domain Validation: Validates email addresses for correct syntax and checks if the domain exists.
- MX Records Check: Ensures the domain can receive emails by checking MX records.
- Disposable Email Detection: Identifies domains belonging to disposable email providers.
- Catchall Status Verification: Determines if the domain accepts all emails.
- Deliverability Check: Verifies if the email exists and can be delivered.
- Logging: Provides logging functionality to track validation processes.
Technologies Used
- Python
- Requests Library: For making HTTP requests.
- BeautifulSoup: For HTML parsing.
- Regular Expressions: For email extraction.
- Scrapy Framework: For efficient web scraping.
- DNSPython: For DNS-related operations.
- Smtplib: For SMTP operations.
- PiaPy: For VPN connectivity.
- Openpyxl: For reading and manipulating Excel files.
Setup Instructions
-
Clone the Repository:
git clone <repository_url> cd <repository_directory>
-
Install Required Packages:
pip install -r requirements.txt
-
Ensure Python 3 is Installed.
Usage
-
Prepare Email List:
Create a text file (
emails.txt
) containing the email addresses to validate, with one email per line. -
Run the Script:
Execute the
bulk_verifier.py
script to validate the email addresses and save the results to a CSV file (emails_validated.csv
).python bulk_verifier.py
-
Review Logs:
Optionally, review the log files in the
logs
directory for detailed validation process information.
Additional Libraries and Frameworks
- dns.resolver: For DNS-related operations.
- disposable_email_domains: For identifying disposable email provider domains.
- smtplib: For SMTP operations.
- Openpyxl: For reading and manipulating Excel files.
Combined Takeaways and Challenges
- Integration of Multiple Packages: Combining various Python packages to handle different aspects of email validation required careful integration and management.
- DNS Lookups and SMTP Connections: Understanding network protocols and error handling for robust validation.
- Logging and Error Handling: Implementing effective logging and error handling mechanisms.
- Scalability and Performance: Ensuring scalability and performance for processing large volumes of email addresses.
License
This project is distributed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file email_verifier_py4-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: email_verifier_py4-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a42d6c379861a40131e897e7cc1e37f28f596255bc3e0701f3ab707b51f1eb3 |
|
MD5 | 6d9919b06916e434d1b7b33fd69ce721 |
|
BLAKE2b-256 | 9a23157878e17b8ef0b51f1bdd8df1360a52a6e50a53eec49861f2f560ca3b34 |