You can find the new project at romanzipp/Laravel-MailCheck. This repository will not get any updates anymore.
A Laravel Wrapper for the Validator.pizza disposable email API made by @tompec.
- Query the Validator.Pizza API for disposable Emails & Domains
- Cache responses
- Store requested domains in database
composer require romanzipp/laravel-validator-pizza
Copy configuration to your project:
php artisan vendor:publish --provider="romanzipp\ValidatorPizza\Providers\ValidatorPizzaProvider"
Run the migration:
php artisan migrate
Change the config to your desired settings:
return [
// Database storage enabled
'store_checks' => true,
// Database table name
'checks_table' => 'validator_pizza',
// Cache enabled (recommended)
'cache_checks' => true,
// Duration in minutes to keep the query in cache
'cache_duration' => 30,
// Determine which decision should be given if the rate limit is exceeded [allow / deny]
'decision_rate_limit' => 'allow',
// Determine which decision should be given if the domain has no MX DNS record [allow / deny]
'decision_no_mx' => 'allow',
// Makes use of the API key
'key' => env('VALIDATOR_PIZZA_KEY'),
];
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function handleEmail(Request $request)
{
$request->validate([
'email' => 'required|email|disposable_pizza',
]);
// ...
}
}
$checker = new \romanzipp\ValidatorPizza\Checker;
// Validate Email
$validEmail = $checker->allowedEmail('ich@ich.wtf');
// Validate Domain
$validDomain = $checker->allowedDomain('ich.wtf');