Skip to content

roguetitan1703/email-verification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 Email Validation Project

📝 Description

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). The project utilizes various Python packages and scripts to perform these validations.

🌟 Features

  • Validates email addresses for syntax and domain existence.
  • Checks MX records to ensure the domain can receive emails.
  • Identifies disposable email provider domains.
  • Determines catchall status to verify if the domain accepts all emails.
  • Validates if the email exists and is deliverable.
  • 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 to your local machine.
  2. Install the required Python packages by running pip install -r requirements.txt.
  3. Ensure you have Python 3 installed on your system.

🚀 Usage

To use the project, follow these steps:

  1. Prepare a text file (emails.txt) containing the email addresses to validate, with one email per line.
  2. Run the bulk_verifier.py script to validate the email addresses and save the results to a CSV file (emails_validated.csv).
  3. Optionally, review the log files generated in the logs directory for detailed validation process information.

📚 Additional Libraries and Frameworks

In addition to the core Python packages, the project utilizes the following 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

The project presents several takeaways and challenges:

  • Integration of Multiple Python Packages: Combining various Python packages and frameworks to handle different aspects of email validation required careful integration and management.
  • Handling DNS Lookups and SMTP Connections: Dealing with DNS lookups and SMTP connections involved understanding network protocols and error handling for robust validation.
  • Logging and Error Handling: Implementing logging functionality and error handling mechanisms were crucial for monitoring and troubleshooting validation processes effectively.
  • Scalability and Performance: Ensuring the project's scalability and performance for processing large volumes of email addresses while maintaining accuracy posed significant challenges.

📄 License

This project is distributed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages