Validate_email is a package for Python that check if an email is valid, properly formatted and really exists.
First, you must do:
sudo python setup.py install
For check the domain mx and verify email exits you must have the dnspython package installed:
pip install dnspython
For locally stored database and known domain lookups you must install sqllite3 and create a database:
vi .env export [email protected] export GOOGLE_PASS=example_pass export [email protected] export YAHOO_PASS=example_pass export [email protected] export WLIVE_PASS=example_pass pip install sqllite3 source .env erb -T '-' create_db.py.erb > create_db.py python create_db.py
sudo python setup.py install --record files.txt sudo bash -c 'cat files.txt | xargs rm -rf' rm files.txt
Basic usage:
from validate_email import validate_email
is_valid = validate_email('[email protected]')
Check if the host has SMTP Server:
from validate_email import validate_email
is_valid = validate_email('[email protected]',check_mx=True)
import logging import sys
root = logging.getLogger("validate_email") root.setLevel(logging.DEBUG)
ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') ch.setFormatter(formatter) root.addHandler(ch)
from validate_email import validate_email is_valid = validate_email('[email protected]',sending_email='[email protected]',check_mx=True,debug=True) print("MX CHECK: %s") % (is_valid) is_valid = validate_email('[email protected]',sending_email='[email protected]',verify=True,debug=True) print("VERIFY: %s") % (is_valid)
Check if the host has SMTP Server and the email really exists:
from validate_email import validate_email
is_valid = validate_email('[email protected]',verify=True)
Check if the host has SMTP Server and the email really exists:
from validate_email import validate_email
is_valid = validate_email('[email protected]',verify=True,sending_email="[email protected]")
[email protected] must be a valid e-mail that you control.
For information on callback verification see: https://en.wikipedia.org/wiki/Callback_verification
Checks are performed against this version of the listing: https://github.com/martenson/disposable-email-domains/tree/4efb0b0ed43022a78abc768c4f28ba7ed7a37772
from validate_email import validate_email is_valid = validate_email("[email protected]", allow_disposable=False) assert not is_valid