diff vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php	Thu May 09 15:34:47 2019 +0100
@@ -0,0 +1,49 @@
+<?php
+
+namespace Egulias\EmailValidator\Validation;
+
+use Egulias\EmailValidator\EmailLexer;
+use Egulias\EmailValidator\EmailParser;
+use Egulias\EmailValidator\Exception\InvalidEmail;
+
+class RFCValidation implements EmailValidation
+{
+    /**
+     * @var EmailParser
+     */
+    private $parser;
+
+    /**
+     * @var array
+     */
+    private $warnings = [];
+
+    /**
+     * @var InvalidEmail
+     */
+    private $error;
+
+    public function isValid($email, EmailLexer $emailLexer)
+    {
+        $this->parser = new EmailParser($emailLexer);
+        try {
+            $this->parser->parse((string)$email);
+        } catch (InvalidEmail $invalid) {
+            $this->error = $invalid;
+            return false;
+        }
+
+        $this->warnings = $this->parser->getWarnings();
+        return true;
+    }
+
+    public function getError()
+    {
+        return $this->error;
+    }
+
+    public function getWarnings()
+    {
+        return $this->warnings;
+    }
+}