omnishield / disposable
Omnishield Disposable: is this e-mail's domain a disposable one - the free disposable-email-domains list (CC0) shipped in the package, an allow list and a deny list of the site's, subdomains included; no call while a request runs, a command to refresh the list.
Requires
- php: >=8.2
- glitchr/omnishield: ^1.0@dev
Requires (Dev)
- phpunit/phpunit: ^11.0
Suggests
- symfony/http-client: Refreshing the list through the application's HTTP client (bin/omnishield-disposable works without it)
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-10-10 14:10:38 UTC
README
Disposable e-mail domains for glitchr/omnishield: is this e-mail's domain a throw-away one. The free list of the disposable-email-domains project (CC0, 9,205 domains on 2026-10-05) ships in the package; the site adds its own allow and deny lists. Nothing is called while a request runs: the list is a file, read once per process.
use Omnishield\Disposable\DisposableGatewayFactory; use Omnishield\Model\Identity; $emails = (new DisposableGatewayFactory())->create(['allow' => ['example-school.org']]); $emails->lookup(new Identity(email: 'someone@eu.mailinator.com'))->known; // true: mailinator.com, subdomains included $emails->isDisposable('someone@gmail.com'); // false
omnishield: gateways: emails: factory: disposable options: { list: '%kernel.project_dir%/var/disposable_domains.txt' } # a refreshed copy; the shipped one otherwise
Refresh the list - from a cron job, into a file of the application's (one inside vendor/ is put
back by the next composer install):
vendor/bin/omnishield-disposable refresh var/disposable_domains.txt vendor/bin/omnishield-disposable check someone@mailinator.com --list var/disposable_domains.txt
Documentation: the matching, the options, the refresh, the list's licence, what was verified.
License: MIT since 2026-10-09; earlier versions remain published under LGPL-3.0-or-later. The list itself (data/domains.txt): CC0 1.0, by its authors.
Formerly omniguard/disposable, renamed on 2026-10-10 with its family (glitchr/omnishield).