Skip to main content

Emailable Python Library Backport

License Python versions Version

This is the backport to Python 2.7 of the Emailable's official python wrapper for the Emailable API.

Documentation

See the Python API docs.

Installation

pip install emailable-backport

Usage

The library needs to be configured with your account's API key which is available in your Emailable Dashboard.

Setup

import emailable

client = emailable.Client('live_...')

Verification

# verify an email address
response = client.verify('evan@emailable.com')
response.state
=> 'deliverable'

# additional parameters are available. see API docs for additional info.
client.verify('evan@emailable.com', smtp=False, accept_all=True, timeout=25)

Slow Email Server Handling

Some email servers are slow to respond. As a result, the timeout may be reached before we are able to complete the verification process. If this happens, the verification will continue in the background on our servers. We recommend sleeping for at least one second and trying your request again. Re-requesting the same verification with the same options will not impact your credit allocation within a 5 minute window.

A slow response will return with a 249 status code.

response = client.verify('slow@example.com')
response.status_code
=> 249
response.message
=> 'Your request is taking longer than normal. Please send your request again.'

Batch Verification

Start a batch

emails = ['evan@emailable.com', 'support@emailable.com', ...]
response = client.batch(emails)
response.id
=> '5cff27400000000000000000'

# you can optionally pass in a callback url that we'll POST to when the
# batch is complete.
response = client.batch(emails, callback_url='https://emailable.com/')

Get the status / results of a batch

To get the status of a batch call batch_status with the batch's id. If your batch is still being processed, you will receive a message along with the current progress of the batch. When a batch is completed, you can access the results in the emails attribute.

response = client.batch_status('5cff27400000000000000000')

# if your batch is still running
response.processed
=> 1
response.total
=> 2
response.message
=> 'Your batch is being processed.'

# if your batch is complete
response.emails
=> [{'email': 'evan@emailable.com', 'state': 'deliverable'...}, {'email': 'support@emailable.com', 'state': 'deliverable'...}...]

# get the counts
response.total_counts
=>{'deliverable': 2, 'undeliverable': 0 ...}
response.reason_counts
=>{'accepted_email': 2, 'rejected_email': 0 ...}

Development

Tests can be run with the following command:

poetry run tox

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/bernardoduarte/emailable-python-backport.

Metadata

Release files for emailable-backport 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emailable-backport 0.1.0
File Size Uploaded
emailable-backport-0.1.0.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for emailable-backport 0.1.0
File Interpreter ABI Platform
emailable_backport-0.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 9.5 kB

Release files / emailable-backport-0.1.0.tar.gz

Download URL emailable-backport-0.1.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
61f9d1f1f465ff515b8ccf4683c495feae6a787125c260db04939c01561171d4
BLAKE2b-256 checksum
How to use checksums
2f81e7bd0f506d119f2ee480d0501f72e990906a07d334014820c49fde0228fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/2.7.17 Linux/5.4.0-73-generic

Release files / emailable_backport-0.1.0-py2.py3-none-any.whl

Download URL emailable_backport-0.1.0-py2.py3-none-any.whl
Size 5.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
089eed493fa59b91422c969f694301e25a886a89eb1a3bde414ac941c32b766b
BLAKE2b-256 checksum
How to use checksums
b5247742ebeb06f28d5b530845b0b630b652aa45079f046034297d0b1306956b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.6 CPython/2.7.17 Linux/5.4.0-73-generic

Release history Release notifications | RSS feed

1.0.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page