PHPackages                             vboctor/disposable\_email\_checker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. vboctor/disposable\_email\_checker

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

vboctor/disposable\_email\_checker
==================================

Library to detect disposable email addresses

3.1.0(7y ago)4596.6k↓67.7%19[2 PRs](https://github.com/vboctor/disposable_email_checker/pulls)1MITPHPPHP &gt;=5.0.0CI failing

Since Nov 29Pushed 2y ago9 watchersCompare

[ Source](https://github.com/vboctor/disposable_email_checker)[ Packagist](https://packagist.org/packages/vboctor/disposable_email_checker)[ RSS](/packages/vboctor-disposable-email-checker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (8)Used By (1)

Disposable Email Checker
========================

[](#disposable-email-checker)

[![Build Status](https://camo.githubusercontent.com/7b9de7bfd550fb0637995624c1fd62d079c1bd713a08611b8e7d9c0a44dac06c/68747470733a2f2f7472617669732d63692e6f72672f76626f63746f722f646973706f7361626c655f656d61696c5f636865636b65722e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/vboctor/disposable_email_checker)

What is it?
-----------

[](#what-is-it)

Disposable Email Checker is a library that allows applications to check for users signup with [disposable email addresses](https://en.wikipedia.org/wiki/Disposable_email_address). This is very important for services that provide some trial period based on the email address. Hence, if users use disposable addresses, then they can potentially bypass the time limit. Other applications may use it to make sure that they have valid emails that they can use for future correspondence.

The library currently contains &gt; 1,900 domains and growing.

Goals
-----

[](#goals)

This project started with offering a php library, but in v2, it has been refactored to separate the domain lists from the code. This enables the following scenarios:

- Providing implementations in multiple languages that consumes such data files.
- Enable apps to easily embed these data files and consume them directly.
- Simplify the process of updating the list to add more domains.

How Disposable Addresses are detected?
--------------------------------------

[](#how-disposable-addresses-are-detected)

This library has a list of rules that are used to determine whether an address is disposable or not. The library does not connect to the Internet to determine the kind or the validity of the address. The library may be enhanced in the future to provide applications with ways of explicitly requiring online checks.

Contributing
------------

[](#contributing)

This library is available as open source with MIT license, so you can use it in both open source and commercial applications. The best ways to contribute back to this library are:

1. Report service providers that the library should detect but it doesn't. See section below for validating disposeable domains.
2. Report bugs and feature request in the bug tracker.
3. Provide ports for the library in languages other than PHP.

To report bugs and feature requests use the associated github bug tracker.

Validating Disposable Domains
-----------------------------

[](#validating-disposable-domains)

Before submitting a PR with new disposable email domains, please validate that such domain are really disposable via the [Kickbox](kickbox.com) service.

In the following URL replace `{domain}` with your domain (e.g. `example.com`) and make sure it returns `disposable: true`.

```
https://open.kickbox.com/v1/disposable/{domain}

```

Running Unit Tests
------------------

[](#running-unit-tests)

Here is how to run the unit tests:

```
composer install
vendor/phpunit/phpunit/phpunit php/tests/disposable_email_checker_tests.php

```

Versioning Scheme
-----------------

[](#versioning-scheme)

The versioning for this library is formatted as follows "1.2.3".

(1) This is the major version which will change when there are major changes or re-implementation.

(2) This is the minor version which will change when the APIs changes. Most of the time these won't be breaking changes, but sometimes they may be.

(3) This is the data version which is the only one changed in releases that just update the rules that are used to determine that an email address is disposable.

Credits
-------

[](#credits)

- Contributors of Domains
- Merged domains from [ivolo/disposable-email-domains](https://github.com/ivolo/disposable-email-domains/)
- Merged domains from [aaronbassett/DisposableEmailChecker](https://github.com/aaronbassett/DisposableEmailChecker)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community24

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 88.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~268 days

Total

5

Last Release

2746d ago

Major Versions

2.1.1 → 3.0.02017-05-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/3615494566de188a0229713f65b918a2405490d7861ed9a8de38af211e0d61d2?d=identicon)[vboctor](/maintainers/vboctor)

---

Top Contributors

[![vboctor](https://avatars.githubusercontent.com/u/6446?v=4)](https://github.com/vboctor "vboctor (83 commits)")[![adaptive](https://avatars.githubusercontent.com/u/17833?v=4)](https://github.com/adaptive "adaptive (4 commits)")[![TravisCarden](https://avatars.githubusercontent.com/u/959246?v=4)](https://github.com/TravisCarden "TravisCarden (2 commits)")[![atrol](https://avatars.githubusercontent.com/u/319317?v=4)](https://github.com/atrol "atrol (1 commits)")[![dregad](https://avatars.githubusercontent.com/u/449891?v=4)](https://github.com/dregad "dregad (1 commits)")[![enekochan](https://avatars.githubusercontent.com/u/1836845?v=4)](https://github.com/enekochan "enekochan (1 commits)")[![KeyWeeUsr](https://avatars.githubusercontent.com/u/8825439?v=4)](https://github.com/KeyWeeUsr "KeyWeeUsr (1 commits)")[![AgentCosmic](https://avatars.githubusercontent.com/u/1035714?v=4)](https://github.com/AgentCosmic "AgentCosmic (1 commits)")

---

Tags

emailsignupdisposable

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vboctor-disposable-email-checker/health.svg)

```
[![Health](https://phpackages.com/badges/vboctor-disposable-email-checker/health.svg)](https://phpackages.com/packages/vboctor-disposable-email-checker)
```

###  Alternatives

[egulias/email-validator

A library for validating emails against several RFCs

11.6k691.3M307](/packages/egulias-email-validator)[sendgrid/sendgrid

This library allows you to quickly and easily send emails through Twilio SendGrid using PHP.

1.5k47.5M164](/packages/sendgrid-sendgrid)[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)[pelago/emogrifier

Converts CSS styles into inline style attributes in your HTML code

94944.1M110](/packages/pelago-emogrifier)[zbateson/mail-mime-parser

MIME email message parser

53949.2M79](/packages/zbateson-mail-mime-parser)[mattketmo/email-checker

Throwaway email detection library

2742.0M5](/packages/mattketmo-email-checker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
