nginxsonarrradarrplexorganizrdashboardbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbget
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1003 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1003 B
						
					
					
				| <?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 (!class_exists(Spoofchecker::class)) { | |
|             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 []; | |
|     } | |
| }
 | |
| 
 |