📋 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.pyscript 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
logsdirectory 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.
Metadata
Release files for email-verifier-py4 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| email_verifier_py4-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for email_verifier_py4-0.1.2-py3-none-any.whl |
Release files / email_verifier_py4-0.1.2-py3-none-any.whl
| Download URL | email_verifier_py4-0.1.2-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a42d6c379861a40131e897e7cc1e37f28f596255bc3e0701f3ab707b51f1eb3
|
|
BLAKE2b-256 checksum How to use checksums |
9a23157878e17b8ef0b51f1bdd8df1360a52a6e50a53eec49861f2f560ca3b34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Security for email-verifier-py4 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.