PHPackages                             veeqtoh/laravel-active-email - 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. veeqtoh/laravel-active-email

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

veeqtoh/laravel-active-email
============================

A Laravel package providing validation rule against disposable email addresses.

v1.0.4(1y ago)39970↓85.7%1MITPHPPHP ^8.1CI passing

Since Jun 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/veeqtoh/laravel-active-email)[ Packagist](https://packagist.org/packages/veeqtoh/laravel-active-email)[ Docs](https://github.com/veeqtoh/laravel-active-email)[ Fund](https://www.paypal.com/paypalme/veeqtoh)[ GitHub Sponsors](https://github.com/veeqtoh)[ RSS](/packages/veeqtoh-laravel-active-email/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (5)Dependencies (7)Versions (6)Used By (0)

laravel-active-email
====================

[](#laravel-active-email)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e3b61922fa581e47f88f479a84d099e5ac580c982c02b0a5d8f95b1bd1b04736/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f76656571746f682f6c61726176656c2d6163746976652d656d61696c3f7374796c653d666c61742d737175617265)](https://packagist.org/packages/veeqtoh/laravel-active-email)[![Total Downloads](https://camo.githubusercontent.com/588052321a8c3bc379b0f6a6d7d487a6306ad9f81fbe715813b6d9613b13dac5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f76656571746f682f6c61726176656c2d6163746976652d656d61696c3f7374796c653d666c61742d737175617265)](https://packagist.org/packages/veeqtoh/laravel-active-email)[![PHP from Packagist](https://camo.githubusercontent.com/3a5c31325e1e545f7c5c5f149f384b1466305d400eaf3d7b4bc004c166b996d3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f76656571746f682f6c61726176656c2d6163746976652d656d61696c3f7374796c653d666c61742d737175617265)](https://packagist.org/packages/veeqtoh/laravel-active-email)[![GitHub license](https://camo.githubusercontent.com/cb5b5e4b0f79cd438760fdb838a8e5950a429c5cee80432d2f47c32d26a7d0e6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f76656571746f682f6c61726176656c2d6163746976652d656d61696c3f7374796c653d666c61742d737175617265)](https://github.com/veeqtoh/laravel-active-email/blob/master/LICENSE)

Table of Contents
-----------------

[](#table-of-contents)

- [Overview](#overview)
    - [Key Features](#key-features)
- [Installation](#installation)
    - [Requirements](#requirements)
    - [Install the Package](#install-the-package)
    - [Publish the Config](#publish-the-config)
- [Usage](#usage)
    - [Validator Approach](#validator-approach)
    - [Class Approach](#class-approach)
    - [Customization](#customization)
        - [Strict Mode](#strict-mode)
        - [Black List](#black-list)
        - [Grey List](#grey-list)
        - [White List](#white-list)
        - [Error Message](#error-message)
- [Testing](#testing)
- [To do](#to-do)
- [Security](#security)
- [Contribution](#contribution)
- [Changelog](#changelog)
- [Upgrading](#upgrading)
- [License](#license)

Overview
--------

[](#overview)

This package provides a library of disposable domains and adds a validator to Laravel apps to check that a given email address isn't coming from a disposable email service such as `Mailinator`, `Guerillamail`, `Tempmail` considering all their possible wildcards.

### Key Features

[](#key-features)

- You can add your own preferred domains to the [black list](#black-list).
- You can [white list](#white-list) a domain to bye pass the blacklist. This can be useful in development environment.
- With [strict mode](#strict-mode), you can control the strictness of the validator, thereby allowing or preventing domains that are not necessarily disposable, but have been classified as disposable.
- Case-aware.
- Wildcard-aware.

Installation
------------

[](#installation)

### Requirements

[](#requirements)

The package has been developed and tested to work with the following minimum requirements:

- PHP 8.x
- Laravel 10.x and above.

### Install the Package

[](#install-the-package)

You can install the package via Composer. The service provider is discovered automatically.

```
composer require veeqtoh/laravel-active-email
```

### Publish the Config

[](#publish-the-config)

You can then publish the package's config file and update it as you'd prefer:

```
php artisan vendor:publish --provider="Veeqtoh\ActiveEmail\Providers\ActiveEmailProvider"
```

Usage
-----

[](#usage)

### Validator Approach

[](#validator-approach)

Add the `notblacklisted` validator to your email validation rules array (or string) to ensure that the domain for a given email address is not blacklisted. I'd recommend you add it after the email validator to make sure a valid email is passed through:

```
'emailField' => 'email|notblacklisted',
```

or

```
'emailField' => ['email', 'notblacklisted'],
```

### Class Approach

[](#class-approach)

Instantiate the `NotBlackListedEmail` Class as part of your email validation rules array to ensure that the domain for a given email address is not blacklisted. Again, I'd recommend you add it after the email validator to make sure a valid email is passed through:

```
use Veeqtoh\ActiveEmail\Rules\NotBlackListedEmail;

'emailField' => ['email', new NotBlackListedEmail()],
```

### Customization

[](#customization)

The package is highly customizable from the config file with the following features:

#### Strict Mode

[](#strict-mode)

This value determines the strictness level of this feature. when set to `true`, domains in the [grey list](#grey-list) are also blacklisted.

It is turned on by default, but can be set in your .env file as follows:

```
DISPOSABLE_EMAIL_STRICT_MODE=true,
```

#### Black List

[](#black-list)

This is a list of base domains with or without the TLD that are blacklisted by default. Add a domain to this list to blacklist it.

#### Grey List

[](#grey-list)

This is a list of base domains with or without the TLD that aren't blacklisted by default except when in strict mode. Add a domain to this list to whitelist it when the feature is not set to strict mode. Ensure that the domain is not on the [black list](#black-list).

#### White List

[](#white-list)

This is a list of base domains with or without the TLD that are blacklisted by default but you want them to be bye passed.

#### Error Message

[](#error-message)

You may define your preferred error message or leave as is to use the package's.

To Do
-----

[](#to-do)

There's always something that can be done to improve this package. I'd keep updating this list as I think of them.

- Crawl the web to grab an updated list of disposable domains.
- Maybe setup a schedule for it..

Testing
-------

[](#testing)

To run the package's unit tests, run the following command:

```
vendor/bin/pest
```

Security
--------

[](#security)

If you find any security related issues, please contact me directly at  to report it.

Contribution
------------

[](#contribution)

If you wish to make any changes or improvements to the package, feel free to make a pull request.

Note: A contribution guide will be added soon.

Changelog
---------

[](#changelog)

Check the [CHANGELOG](CHANGELOG.md) to get more information about the latest changes.

Upgrading
---------

[](#upgrading)

Check the [UPGRADE](UPGRADE.md) guide to get more information on how to update this library to newer versions.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

Support Me
----------

[](#support-me)

If you've found this package useful, please consider [sponsoring this project](https://github.com/sponsors/veeqtoh). It will encourage me to keep maintaining it.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance41

Moderate activity, may be stable

Popularity27

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~65 days

Total

5

Last Release

488d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19429315?v=4)[Victor Ukam](/maintainers/veeqtoh)[@veeqtoh](https://github.com/veeqtoh)

---

Top Contributors

[![veeqtoh](https://avatars.githubusercontent.com/u/19429315?v=4)](https://github.com/veeqtoh "veeqtoh (41 commits)")

---

Tags

disposable-domainsdisposable-emaildisposable-email-domainsdisposable-emailslaravelmaillaravelvalidationlaravel-packagedisposable emailslaravel-validationvalidation ruleveeqtohvictor-ukamdisposable-emaildisposable-emails-domainsdisposable-email-domainsactive-email-address

###  Code Quality

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/veeqtoh-laravel-active-email/health.svg)

```
[![Health](https://phpackages.com/badges/veeqtoh-laravel-active-email/health.svg)](https://phpackages.com/packages/veeqtoh-laravel-active-email)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.5k55.4M8.4k](/packages/larastan-larastan)[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k8.4M96](/packages/mongodb-laravel-mongodb)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M146](/packages/laravel-cashier)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)

PHPackages © 2026

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