Skip to main content

A package to verify email addresses by checking DNS records and SMTP servers.

Project description

mailValidator

Version: 0.1.1

Description

mailValidator is a Python package designed to verify email addresses by checking DNS records and SMTP servers. It provides a reliable way to validate email addresses without sending actual emails. This package is currently in the testing stage, so it is not recommended for production or development environments.

Features

  • DNS Verification: Confirms the existence of the email domain by checking DNS records.
  • SMTP Verification: Validates email addresses by connecting to the SMTP server without sending any email.
  • Logging: Captures and logs the validation process and results for easy debugging and tracking.

Installation

To install mailValidator, use pip:

pip install mailValidator

Usage

Command-Line Usage:

You can use mailValidator directly from the command line to validate email addresses.

mailValidator --emails emails.txt --output results.txt
  • --emails: Specifies the path to a .txt file containing email addresses.

        mail2Valid@gmail.com
        test1@examples.com
        test2@examples.com
        mail2Valid@catchall.com
        kadip70201@invalid.com
    
  • --output: Specifies the path to save the results (.txt or .xlsx format).

        Success (200)
        ---------------
        mail2Valid@gmail.com: Valid email
    
        Domain is a catch-all (201)
        -----------------------------
        mail2Valid@catchall.com: Valid email but domain is a catch-all.
    
        Client Errors (400)
        ---------------------
        test1@examples.com: Invalid email: The mailbox is unavailable
        test2@examples.com: Invalid email: The mailbox is unavailable
    
        Not Found (404)
        -----------------
        kadip70201@invalid.com: MX record or domain details not found.
    

Programmatic Usage

You can also use mailValidator programmatically within your Python code:

from mailValidator.email_utils import verify_email

email = "example@example.com"
result = verify_email(email)
print(result)

-----------------------------------------------
output:
{'status': '200', 'message': 'Valid email'}

License:

Custom License for "mailValidator"

Copyright (c) 2024 Anu T

**This software is currently in development and is provided for testing and evaluation purposes only. **

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to use the Software
within their code, subject to the following conditions:

1. The Software may not be copied or modified in any form or for any purpose.
2. The Software may not be distributed, sublicensed, or sold to others.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Please note that this license is temporary and a more comprehensive license will be provided in the future.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Error Statuses:

When using mailValidator, you may encounter various HTTP status codes that indicate the result of the email verification process:

    200 - Success: The email address has been successfully verified.
    400 - Client Error: There was an issue with the request, often due to an invalid email format.
    403 - Forbidden: The server understood the request but refuses to authorize it, possibly due to a restriction on the SMTP server.
    404 - Not Found: The domain associated with the email address could not be found.
    500 - Server Error: An error occurred on the server side, which could indicate issues with the SMTP server or an unexpected failure.
    503 - Service Unavailable: The SMTP server is temporarily unable to handle the request, possibly due to overload or maintenance.

CHANGELOG.md

# Changelog

## [0.1.1] - 01-09-2024
### Added
- Initial release of the `mailValidator` package.
- Added DNS and SMTP email verification functionality.
- Command-line interface for email validation.
- Logging for email validation processes.
- Output support for `.txt` and `.xlsx` formats.

## [0.1.0] - 31-08-2024
### Added
- Initial testing version of the package released.

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

If you're not sure about the file name format, learn more about wheel file names.

mailValidator-0.2.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file mailValidator-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mailValidator-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for mailValidator-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 861a5006199d1ab8e9977f6945e1e976f2143020457035889acbe754b8b4ac6b
MD5 047256ecbce29585a172dfb0e6bbdca8
BLAKE2b-256 3b72ea2e060a3caa5b5556de3c5e16aa49c15db191ed6b2cbf9684182e4f3894

See more details on using hashes here.

Supported by

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