skip to navigation
skip to content

django-disposable-email-checker 1.2.1

Django package to detect ~890 domains used by disposable email services


[![PyPI version](](
[![PyPI version](](
[![Requirements Status](](

Django package to detect ~890 & ~8,600 domains used by disposable email services.
You can validate any email against our internal list of ~890 domains used by
disposable email services. Optionally you can also check each domain against
the []( API. Check out
their free tier for 200 API calls a month.


Install the disposable email checker from PyPI

pip install django-disposable-email-checker

The disposable email checker comes with a list of ~890 emails. If you would like
to provide your own email list create a function which returns a list of domains
to block.

from disposable_email_checker.emails import email_domain_loader

def custom_email_domain_loader():
# Anyone still using AOL will be too much of a customer service burden
return [
] + email_domain_loader()

Then add the complete path including function name to your settings

DEC_LOADER = "my.package.custom_email_domain_loader"

If you would like to use the [BDE](
integration add your API key to your Django settings

BDEA_APIKEY = "abcnotarealkey123"

optionally you can configure the BDE API timeout in seconds (default 5)


Adding to your models

Once you have completed setup add the `DisposableEmailField` to your models.

from disposable_email_checker.fields import DisposableEmailField

class MyModel(models.Model):
email = DisposableEmailField()

The `DisposableEmailField` has a few optional arguments

* **whitelist** - A list of emails which will always be allowed. Defaults
to `[]`
* **message** - The error message used by ValidationError if validation
fails. Defaults to `_('Blocked email provider.')`
* **code** - The error code used by ValidationError if validation fails.
Defaults to "invalid".

Using the validator

If you want to use the validator by itself

from django.core.exceptions import ValidationError
from disposable_email_checker.validators import validate_disposable_email

except ValidationError:
File Type Py Version Uploaded on Size
django-disposable-email-checker-1.2.1.tar.gz (md5) Source 2015-11-04 13KB
django_disposable_email_checker-1.2.1-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-11-04 13KB