laravel-email-validator
laravel-email-validator copied to clipboard
:email: :package: Validate email addresses on the fly in Laravel 5
laravel-email-validator
Laravel 5 Package to help validate and verify your email addresses.
Note: This depends on the paid service from http://quickemailverification.com/.
Install
PHP 5.5+ or HHVM 3.3+, and Composer are required.
Via Composer
$ composer require unicodeveloper/laravel-email-validator
Another alternative is to simply add the following line to the require block of your composer.json
file.
"unicodeveloper/laravel-email-validator": "1.0.*"
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
// Laravel 5: config/app.php
'providers' => [
...
Unicodeveloper\EmailValidator\EmailValidatorServiceProvider::class,
...
];
This package also comes with a facade
// Laravel 5: config/app.php
'aliases' => [
...
'EmailValidator' => Unicodeveloper\EmailValidator\EmailValidatorFacade::class,
...
]
Publish the config file by running:
php artisan vendor:publish
The config file will now be located at config/emailValidator.php
.
Configuration
This is the emailValidator.php
file in the config
directory. Go to quickemailverification.com, sign up, get an api Key and insert here
/**
* 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:
print_r(EmailValidator::verify('[email protected]')->isValid());
// returns Array ( [0] => [1] => Could not get MX records for domain )
print_r(EmailValidator::verify('[email protected]')->isValid());
// returns Array ( [0] => 1 [1] => SMTP server accepted email address )
var_dump( EmailValidator::verify('[email protected]')->isValid()[0]);
// returns bool(true)
var_dump( EmailValidator::verify('[email protected]')->isValid()[0]);
// returns bool(false)
if( EmailValidator::verify('[email protected]')->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('[email protected]')->isDisposable()
/**
* Returns true or false if the API request was successful
* @return boolean
*/
EmailValidator::verify('[email protected]')->apiRequestStatus()
/**
* Get the domain of the provided email address
* @return string
*/
EmailValidator::verify('[email protected]')->getDomainName()
/**
* Get the local part of an email address
* Example: [email protected] returns kkkkk
* @return string
*/
EmailValidator::verify('[email protected]')->getUser()
/**
* Gets a normalized version of the email address
* Example: [email protected] returns [email protected]
* @return string
*/
EmailValidator::verify('[email protected]')->getEmailAddress()
/**
* Returns true if the domain appears to accept all emails delivered to that domain
* @return boolean
*/
EmailValidator::verify('[email protected]')->acceptEmailsDeliveredToDomain()
/**
* Returns true or false if email address is a role address
* Example [email protected] , [email protected] will return true
* @return boolean
*/
EmailValidator::verify('[email protected]')->isRole()
Change log
Please see CHANGELOG for more information what has changed recently.
Todo: Testing
Todo: Verify a list of emails
You can run the tests with:
vendor/bin/phpunit run
Alternatively, you can run the tests like so:
composer test
Contributing
Please see CONTRIBUTING for details.
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!
Don't forget to follow me on twitter!
Thanks! Prosper Otemuyiwa.
License
The MIT License (MIT). Please see License File for more information.