Skip to content

whois-api-llc/python-email-verifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-email-verifier

The simplest possible way to verify an email address in Python.

Meta

Prerequisites

To use this library, you'll need to create a free Email Verification API account: https://emailverification.whoisxmlapi.com/

If you haven't done this yet, please do so now.

Documentation

Documentation available here.

Installation

To install email-verifier using pypi, simply run:

$ pip install email-verifier

In the root of your project directory.

Usage

Once you have email-verified installed, you can use it to easily verify any email address.

from emailverifier import Client
from emailverifier import exceptions

client = Client('Your-api-key')

try:
    data = client.get("[email protected]")
except exceptions.HttpException:
    # If you get here, it means service returned HTTP error code
    pass
except exceptions.GeneralException:
    # If you get here, it means you cannot connect to the service
    pass
except exceptions.UndefinedVariableException:
    # If you get here, it means you forgot to specify the API key
    pass
except exceptions.InvalidArgumentException:
    # If you get here, it means you specified invalid argument
    # (options should be a dictionary)
    pass
except:
    pass
    # Something else happened related. Maybe you hit CTRL-C
    # while the program was running, the kernel is killing your process, or
    # something else all together.

print(data)

# Use data.json_string to get raw data in JSON.
# You can access any response field as a class property
# by converting field name from "camelCase" to "snake_case"
print("Email address: " + data.email_address)
print("Format: " + str(data.format_check))
print("DNS: " + str(data.dns_check))
print("SMTP: " + str(data.smtp_check))
print("Catch all: " + str(data.catch_all_check))
print("Disposable: " + str(data.disposable_check))
print("Free: " + str(data.free_check))
print("Last audit date: " + str(data.audit.audit_updated_date))

Here's the sort of data you might get back when performing a email verification request:

{
  "emailAddress": "[email protected]",
  "formatCheck": "true",
  "smtpCheck": "true",
  "dnsCheck": "true",
  "freeCheck": "false",
  "disposableCheck": "false",
  "catchAllCheck": "true",
  "mxRecords": [
    "ALT1.ASPMX.L.GOOGLE.com",
    "ALT2.ASPMX.L.GOOGLE.com",
    "ASPMX.L.GOOGLE.com",
    "ASPMX2.GOOGLEMAIL.com",
    "ASPMX3.GOOGLEMAIL.com",
    "mx.yandex.net"
  ],
  "audit": {
    "auditCreatedDate": "2018-04-19 18:12:45.000 UTC",
    "auditUpdatedDate": "2018-04-19 18:12:45.000 UTC"
  }
}