Skip to main content

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

  1. Clone the Repository:

    git clone <repository_url>
    cd <repository_directory>
    
  2. Install Required Packages:

    pip install -r requirements.txt
    
  3. Ensure Python 3 is Installed.

Usage

  1. Prepare Email List:

    Create a text file (emails.txt) containing the email addresses to validate, with one email per line.

  2. 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
    
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

email_verifier_py4-0.1.2-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file email_verifier_py4-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for email_verifier_py4-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4a42d6c379861a40131e897e7cc1e37f28f596255bc3e0701f3ab707b51f1eb3
MD5 6d9919b06916e434d1b7b33fd69ce721
BLAKE2b-256 9a23157878e17b8ef0b51f1bdd8df1360a52a6e50a53eec49861f2f560ca3b34

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page