diff --git a/core/core.services.yml b/core/core.services.yml
index 8a5a126..1fed1f1 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -1126,3 +1126,6 @@ services:
   renderer:
     class: Drupal\Core\Render\Renderer
     arguments: ['@controller_resolver', '@theme.manager', '@plugin.manager.element_info']
+  email.validator:
+    class: Egulias\EmailValidator\EmailValidator
+
diff --git a/core/includes/common.inc b/core/includes/common.inc
index 6d1b013..46d1fbf 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -279,17 +279,14 @@ function drupal_get_destination() {
 /**
  * Verifies the syntax of the given email address.
  *
- * This uses the
- * @link http://php.net/manual/filter.filters.validate.php PHP email validation filter. @endlink
- *
- * @param $mail
+ * @param string $mail
  *   A string containing an email address.
  *
- * @return
+ * @return bool
  *   TRUE if the address is in a valid format.
  */
 function valid_email_address($mail) {
-  return (bool)filter_var($mail, FILTER_VALIDATE_EMAIL);
+  return \Drupal::emailValidator()->isValid($mail);
 }
 
 /**
diff --git a/core/lib/Drupal.php b/core/lib/Drupal.php
index 780e1a2..3171815 100644
--- a/core/lib/Drupal.php
+++ b/core/lib/Drupal.php
@@ -647,4 +647,14 @@ public static function accessManager() {
     return static::$container->get('access_manager');
   }
 
+  /**
+   * Returns the email validator service.
+   *
+   * @return \Egulias\EmailValidator\EmailValidator
+   *   The email validator service.
+   */
+  public static function emailValidator() {
+    return static::$container->get('email.validator');
+  }
+
 }
