Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laravel-validation-rules/email-validation-mailgun
https://github.com/laravel-validation-rules/email-validation-mailgun
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/laravel-validation-rules/email-validation-mailgun
- Owner: laravel-validation-rules
- License: mit
- Created: 2018-07-28T12:24:39.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-30T23:57:08.000Z (about 6 years ago)
- Last Synced: 2024-07-18T22:17:54.881Z (4 months ago)
- Size: 3.91 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel Validator Rules - Email Validation Mailgun
Email validation that uses the [Mailgun API](https://documentation.mailgun.com/en/latest/api-email-validation.html#email-validation) for a three-step validation check.To find examples of how validation rules can be applied in the Laravel framework, please view the [validation docs](https://laravel.com/docs/5.6/validation).
## Install
Require via composer.
```
composer require laravel-validation-rules/email-validation-mailgun
```
For Laravel >=5.5 the package will be discoverd. For Laravel <=5.4 add package to list of service providers in config/app.php
```
[
Kouz\LaravelMailgunValidation\ServiceProvider::class,
],
```
Publish and fill out the config/mailgun-email-validation.php file with your Mailgun API key.
```
php artisan vendor:publish --provider="Kouz\LaravelMailgunValidation\ServiceProvider"
```## Basic Usage
Use the following rule to validate your email fields. The rule will first check the address against
PHP's [FILTER_VALIDATE_EMAIL](http://php.net/manual/en/filter.filters.validate.php) and then will call the Mailgun API.```
$request->validate([
'email' => ['required', 'mailgun_email'],
]);
```Further flags can added to the rule to make the validation more strict.
```
$request->validate([
'email' => ['required', 'mailgun_email:role,disposable,mailbox,strict'],
]);
```Each flag if present, will add the following validation rules:
* **role** Don't allow role-based addresses such as ‘admin’, ‘sales’, ‘webmaster’...
* **disposable** Don't allow disposable email domains.
* **mailbox** A call is made to the ESP to verify the mailboxes existence. Add strict flag to ensure that Mailgun was able to verify a mailbox and didn't return "Unknown".
* **strict** Always require a response from Mailgun to validate. By default if a API request fails, the validation will pass. The strict flag ensures that a Mailgun response was recieved.## Recommended Usage
The following configuration will try to check if the email addresses mailbox exists and is not a disposable email address. If
Mailgun is not contactable or Mailgun can't perform the mailbox check, the validation will fall back on PHP's FILTER_VALIDATE_EMAIL.```
$request->validate([
'email' => ['required', 'mailgun_email:disposable,mailbox'],
]);
```## License
This project is licensed under a MIT License which you can find
[in this LICENSE](https://github.com/TheoKouzelis/laravel-mailgun-email-validation/blob/master/LICENSE).## Feedback
If you have any feedback, comments or suggestions, please feel free to open an issue within this repository.## Laravel Validation Rules
This package is part of the Laravel Validation Rules collection. If you're after more useful validation rules,
head to the [Laravel Validation Rules](https://laravel-validation-rules.github.io/) website.