PHPackages                             cristianpeter/laravel-disposable-contact-guard - 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. cristianpeter/laravel-disposable-contact-guard

Abandoned → [https://github.com/IncentAds/disposable.git](/?search=https%3A%2F%2Fgithub.com%2FIncentAds%2Fdisposable.git)Library[Mail &amp; Notifications](/categories/mail)

cristianpeter/laravel-disposable-contact-guard
==============================================

Disposable email validator

2.0.0(1y ago)0991MITPHPPHP ^8.3

Since Jan 24Pushed 1y agoCompare

[ Source](https://github.com/CristianPeter/Laravel-Disposable-Contact-Guard)[ Packagist](https://packagist.org/packages/cristianpeter/laravel-disposable-contact-guard)[ GitHub Sponsors](https://github.com/Propaganistas)[ RSS](/packages/cristianpeter-laravel-disposable-contact-guard/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (10)Versions (3)Used By (0)

Laravel Disposable Contact Guard
================================

[](#laravel-disposable-contact-guard)

Forked package from [Propaganistas/Laravel-Disposable-Email](https://github.com/Propaganistas/Laravel-Disposable-Email)

- Adds a validator to Laravel for checking whether a given email address isn't originating from disposable email services such as `Mailinator`, `Guerillamail`, ... Uses the disposable domains blacklist from [disposable/disposable](https://github.com/disposable/disposable) by default.
- Adds a validator to Laravel for checking wheter a given phone number(E.164format) isn't origin from disposable phone services.. Uses the disposable number list from [disposable-number](https://github.com/iP1SMS/disposable-phone-numbers)

Have the option for using numcheckr service for backup source

### Installation

[](#installation)

1. Run the Composer require command to install the package. The service provider is discovered automatically.

    ```
    composer require cristianpeter/laravel-disposable-contact-guard
    ```
2. Publish the configuration file and adapt the configuration as desired:

    ```
    php artisan vendor:publish --tag=laravel-disposable-guard
    ```
3. Run the following artisan command to fetch an up-to-date list of disposable domains:

    ```
    php artisan disposable:update
    ```
4. Run the following artisan command to fetch an up-to-date list of disposable numbers:

    ```
    php artisan disposable-numbers:update
    ```
5. (optional) It's highly advised to update the disposable domains list regularly. You can either run the command yourself now and then or, if you make use of Laravel's scheduler, you can register the `disposable:update` command:

    In `routes/console.php`:

    ```
    use Illuminate\Support\Facades\Schedule;

    Schedule::command('disposable:update')->weekly();
    Schedule::command('disposable-numbers:update')->weekly();
    ```

    Or if you use Laravel 10 or below, head over to the Console kernel:

    ```
     protected function schedule(Schedule $schedule)
     {
         $schedule->command('disposable:update')->weekly();
         $schedule->command('disposable-numbers:update')->weekly();

     }
    ```

### Usage

[](#usage)

Use the `indisposable` validator to ensure a given field doesn't hold a disposable email address. You'll probably want to add it after the `email` validator to make sure a valid email is passed through:

```
'field' => 'email|indisposable',
```

Use the `real_phone` validator to ensure a given field doesn't hold a disposable number.

```
'field' => 'real_phone',
```

### Custom fetches

[](#custom-fetches)

By default the package retrieves a new list by using `file_get_contents()`. If your application has different needs (e.g. when behind a proxy) please review the `fetcher` configuration value.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance40

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69% 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 ~9 days

Total

2

Last Release

517d ago

Major Versions

1.0.0 → 2.0.02025-02-02

PHP version history (2 changes)1.0.0PHP ^8.1

2.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/102976077?v=4)[cristianpeter](/maintainers/cristianpeter)[@CristianPeter](https://github.com/CristianPeter)

---

Top Contributors

[![Propaganistas](https://avatars.githubusercontent.com/u/6680176?v=4)](https://github.com/Propaganistas "Propaganistas (116 commits)")[![CristianPeter](https://avatars.githubusercontent.com/u/102976077?v=4)](https://github.com/CristianPeter "CristianPeter (44 commits)")[![faytekin](https://avatars.githubusercontent.com/u/4013224?v=4)](https://github.com/faytekin "faytekin (1 commits)")[![felipehertzer](https://avatars.githubusercontent.com/u/4554784?v=4)](https://github.com/felipehertzer "felipehertzer (1 commits)")[![kitro](https://avatars.githubusercontent.com/u/5256921?v=4)](https://github.com/kitro "kitro (1 commits)")[![lucacerretani](https://avatars.githubusercontent.com/u/12126581?v=4)](https://github.com/lucacerretani "lucacerretani (1 commits)")[![patoui](https://avatars.githubusercontent.com/u/4511175?v=4)](https://github.com/patoui "patoui (1 commits)")[![stri8ed](https://avatars.githubusercontent.com/u/1766843?v=4)](https://github.com/stri8ed "stri8ed (1 commits)")[![tohtamysh](https://avatars.githubusercontent.com/u/1841267?v=4)](https://github.com/tohtamysh "tohtamysh (1 commits)")[![DhPandya](https://avatars.githubusercontent.com/u/46279781?v=4)](https://github.com/DhPandya "DhPandya (1 commits)")

---

Tags

laravelvalidatormailemailphonetemporarythrowawaydisposable

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/cristianpeter-laravel-disposable-contact-guard/health.svg)

```
[![Health](https://phpackages.com/badges/cristianpeter-laravel-disposable-contact-guard/health.svg)](https://phpackages.com/packages/cristianpeter-laravel-disposable-contact-guard)
```

###  Alternatives

[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M7](/packages/propaganistas-laravel-disposable-email)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M132](/packages/laravel-pulse)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[psalm/plugin-laravel

Psalm plugin for Laravel

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

The official AI SDK for Laravel.

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

PHPackages © 2026

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