A PHP package for validating email addresses with various checks such as MX records, disposable email detection, and banned email lists.
- Validate email format
- Check MX records for domain validity
- Detect disposable email addresses
- Check against banned email lists
- Check for free email provider addresses
You can install the package via Composer. Run the following command:
composer require ezeanyimhenry/email-validator
Here’s how to use the EmailValidator
class:
You can validate a single email address as follows:
<?php
require 'vendor/autoload.php'; // Autoload files using Composer
use EzeanyimHenry\EmailValidator\EmailValidator;
// Create a new instance of the EmailValidator
$emailValidator = new EmailValidator();
// Validate a single email address
$result = $emailValidator->validate('[email protected]');
if ($result['isValid']) {
echo "The email is valid.";
} else {
echo "Error: " . $result['message'];
}
To validate multiple email addresses at once, simply pass an array:
<?php
require 'vendor/autoload.php'; // Autoload files using Composer
use EzeanyimHenry\EmailValidator\EmailValidator;
// Create a new instance of the EmailValidator
$emailValidator = new EmailValidator();
// Validate multiple email addresses
$emails = [
'[email protected]',
'invalid-email',
'[email protected]',
];
$results = $emailValidator->validate($emails);
foreach ($results as $email => $result) {
echo "$email: " . ($result['isValid'] ? "Valid" : "Invalid - " . $result['message']) . "\n";
}
You can customize the validator's behavior by passing configuration options when creating the instance:
<?php
require 'vendor/autoload.php'; // Autoload files using Composer
use EzeanyimHenry\EmailValidator\EmailValidator;
// Create a new instance with custom configuration
$emailValidator = new EmailValidator([
'checkMxRecords' => true,
'checkBannedListedEmail' => true,
'checkDisposableEmail' => true,
'checkFreeEmail' => false,
]);
// Validate an email
$result = $emailValidator->validate('[email protected]');
The validate()
method returns an associative array containing the validation result and a message. You can check if the email is valid by accessing the isValid
key, and you can get the error message from the message
key.
if (!$result['isValid']) {
echo "Validation failed: " . $result['message'];
}
To run the tests, ensure you have PHPUnit installed. You can run the tests with the following command:
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
This package is licensed under the MIT License. See the LICENSE file for more details.