diff --git a/includes/common.inc b/includes/common.inc index 33109f00ec21cd711f314d17e0c2eaa419d80fba..69227435e25598501a5e6fe42aa4ef6b713511e3 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -866,12 +866,7 @@ function t($string, $args = array(), $langcode = NULL) { * TRUE if the address is in a valid format. */ function valid_email_address($mail) { - $user = '[a-zA-Z0-9_\-\.\+\^!#\$%&*+\/\=\?\`\|\{\}~\']+'; - $domain = '(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.?)+'; - $ipv4 = '[0-9]{1,3}(\.[0-9]{1,3}){3}'; - $ipv6 = '[0-9a-fA-F]{1,4}(\:[0-9a-fA-F]{1,4}){7}'; - - return (bool)preg_match("/^$user@($domain|(\[($ipv4|$ipv6)\]))$/", $mail); + return (bool)filter_var($mail, FILTER_VALIDATE_EMAIL); } /** diff --git a/modules/contact/contact.test b/modules/contact/contact.test index 1bea7e53cf83a378e829fa04efd26f8ce1a1bf5b..b6328fc15317bb9b911ce8a8be1e19b213201ed4 100644 --- a/modules/contact/contact.test +++ b/modules/contact/contact.test @@ -45,7 +45,7 @@ class ContactSitewideTestCase extends DrupalWebTestCase { // Add categories. // Test invalid recipients. - $invalid_recipients = array('invalid', 'invalid@', /*'invalid@site', 'invalid@site.',*/ '@site.', '@site.com'); + $invalid_recipients = array('invalid', 'invalid@', 'invalid@site', 'invalid@site.', '@site.', '@site.com'); foreach ($invalid_recipients as $invalid_recipient) { $this->addCategory($this->randomName(16), $invalid_recipient, '', FALSE); $this->assertRaw(t('%recipient is an invalid e-mail address.', array('%recipient' => $invalid_recipient)), t('Caught invalid recipient (' . $invalid_recipient . ').'));