Index: wp-includes/formatting.php
===================================================================
--- wp-includes/formatting.php	(revision 5796)
+++ wp-includes/formatting.php	(working copy)
@@ -666,7 +666,7 @@
 
 
 function is_email($user_email) {
-	$chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
+	$chars = "/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,6}$/i";
 	if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false) {
 		if (preg_match($chars, $user_email)) {
 			return true;

