⚙ Usage
Laravel Disposable Email Detection allows you to detect and block disposable email addresses at different levels of your application, including request validation, runtime logic, and Blade views.
1️⃣ Form Request Validation
Block disposable email addresses during validation to prevent temporary emails from reaching your application.
Using String-Based Validation Rule
php
$request->validate([
'email' => 'required|email|disposable_email',
]);You can also use the array-based syntax:
php
$request->validate([
'email' => ['required', 'email', 'disposable_email'],
]);Using Custom Validation Rule Class
php
use EragLaravelDisposableEmail\Rules\DisposableEmailRule;
$request->validate([
'email' => ['required', 'email', new DisposableEmailRule()],
]);2️⃣ Runtime Email Check
Check email addresses programmatically for custom business logic, APIs, or background jobs.
Using Rule Class
php
use EragLaravelDisposableEmail\Rules\DisposableEmailRule;
if (DisposableEmailRule::isDisposable('test@tempmail.com')) {
// Handle disposable email
}Using Facade
php
use DisposableEmail;
if (DisposableEmail::isDisposable('agedmail.com')) {
// Handle disposable email
}3️⃣ Blade Directive
Use the Blade directive to conditionally render content based on disposable email detection.
blade
@disposableEmail('amit@0-mail.com')
<p class="text-red-600">Disposable email detected!</p>
@else
<p class="text-green-600">Valid email.</p>
@enddisposableEmail