123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace Egulias\EmailValidator\Validation;
- use Egulias\EmailValidator\EmailLexer;
- use Egulias\EmailValidator\Exception\InvalidEmail;
- use Egulias\EmailValidator\Validation\Error\SpoofEmail;
- use \Spoofchecker;
- class SpoofCheckValidation implements EmailValidation
- {
- /**
- * @var InvalidEmail
- */
- private $error;
- public function __construct()
- {
- if (!extension_loaded('intl')) {
- throw new \LogicException(sprintf('The %s class requires the Intl extension.', __CLASS__));
- }
- }
- public function isValid($email, EmailLexer $emailLexer)
- {
- $checker = new Spoofchecker();
- $checker->setChecks(Spoofchecker::SINGLE_SCRIPT);
- if ($checker->isSuspicious($email)) {
- $this->error = new SpoofEmail();
- }
- return $this->error === null;
- }
- public function getError()
- {
- return $this->error;
- }
- public function getWarnings()
- {
- return [];
- }
- }
|