laravel-email-validator
, (*1)
Laravel 5 Package to help validate and verify your email addresses., (*2)
Note: This depends on the paid service from http://quickemailverification.com/., (*3)
Install
PHP 5.5+ or HHVM 3.3+, and Composer are required., (*4)
Via Composer, (*5)
``` bash
$ composer require unicodeveloper/laravel-email-validator, (*6)
Another alternative is to simply add the following line to the require block of your `composer.json` file.
"unicodeveloper/laravel-email-validator": "1.0.*", (*7)
Then run `composer install` or `composer update` to download it and have the autoloader updated.
Add this to your providers array in `config/app.php`
```php
// Laravel 5: config/app.php
'providers' => [
...
Unicodeveloper\EmailValidator\EmailValidatorServiceProvider::class,
...
];
This package also comes with a facade, (*8)
// Laravel 5: config/app.php
'aliases' => [
...
'EmailValidator' => Unicodeveloper\EmailValidator\EmailValidatorFacade::class,
...
]
Publish the config file by running:, (*9)
php artisan vendor:publish
The config file will now be located at config/emailValidator.php., (*10)
Configuration
This is the emailValidator.php file in the config directory. Go to quickemailverification.com, sign up, get an api Key and insert here, (*11)
/**
* Config file that a user/developer can insert quickemailverficationservice api key
*/
return [
'apiKey' => ''
];
Usage
With the Facades, all you need to do in your application is something like so:, (*12)
print_r(EmailValidator::verify('kkkkk@example.com')->isValid());
// returns Array ( [0] => [1] => Could not get MX records for domain )
print_r(EmailValidator::verify('prosperotemuyiwa@gmail.com')->isValid());
// returns Array ( [0] => 1 [1] => SMTP server accepted email address )
var_dump( EmailValidator::verify('prosperotemuyiwa@gmail.com')->isValid()[0]);
// returns bool(true)
var_dump( EmailValidator::verify('kkkkk@example.com')->isValid()[0]);
// returns bool(false)
if( EmailValidator::verify('kkkkk@example.com')->isValid()[0] ){
......
}
// returns a true/false if the email address is valid or not
Other Methods Available
/**
* Returns true or false if the email address uses a disposable domain
* @return boolean
*/
EmailValidator::verify('kkkkk@example.com')->isDisposable()
/**
* Returns true or false if the API request was successful
* @return boolean
*/
EmailValidator::verify('kkkkk@example.com')->apiRequestStatus()
/**
* Get the domain of the provided email address
* @return string
*/
EmailValidator::verify('kkkkk@example.com')->getDomainName()
/**
* Get the local part of an email address
* Example: kkkkk@example.com returns kkkkk
* @return string
*/
EmailValidator::verify('kkkkk@example.com')->getUser()
/**
* Gets a normalized version of the email address
* Example: KkkKk@example.com returns kkkkk@gmail.com
* @return string
*/
EmailValidator::verify('kkkkk@example.com')->getEmailAddress()
/**
* Returns true if the domain appears to accept all emails delivered to that domain
* @return boolean
*/
EmailValidator::verify('kkkkk@example.com')->acceptEmailsDeliveredToDomain()
/**
* Returns true or false if email address is a role address
* Example manager@example.com , ceo@example.com will return true
* @return boolean
*/
EmailValidator::verify('kkkkk@example.com')->isRole()
Change log
Please see CHANGELOG for more information what has changed recently., (*13)
Todo: Testing
Todo: Verify a list of emails
You can run the tests with:, (*14)
vendor/bin/phpunit run
Alternatively, you can run the tests like so:, (*15)
composer test
Contributing
Please see CONTRIBUTING for details., (*16)
How can I thank you?
Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!, (*17)
Don't forget to follow me on twitter!, (*18)
Thanks!
Prosper Otemuyiwa., (*19)
License
The MIT License (MIT). Please see License File for more information., (*20)