Index: src/wp-includes/formatting.php
===================================================================
--- src/wp-includes/formatting.php	(revision 25157)
+++ src/wp-includes/formatting.php	(working copy)
@@ -1868,6 +1868,10 @@
 		}
 	}
 
+	// Test for fewer than 2 characters in last sub
+	if ( strlen( end( $subs ) ) < 2 )
+		return apply_filters( 'is_email', false, $email, 'last_sub_too_few_chars' );
+
 	// Congratulations your email made it!
 	return apply_filters( 'is_email', $email, $email, null );
 }
Index: tests/tests/formatting/IsEmail.php
===================================================================
--- tests/tests/formatting/IsEmail.php	(revision 25157)
+++ tests/tests/formatting/IsEmail.php	(working copy)
@@ -9,8 +9,8 @@
 			"bob@example.com",
 			"phil@example.info",
 			"ace@204.32.222.14",
-			"kevin@many.subdomains.make.a.happy.man.edu"
-			);
+			"kevin@many.subdomains.make.a.happy.man.edu",
+		);
 		foreach ( $data as $datum ) {
 			$this->assertEquals( $datum, is_email($datum), $datum );
 		}
@@ -22,8 +22,9 @@
 			'http://bob.example.com/',
 			"sif i'd give u it, spamer!1",
 			"com.exampleNOSPAMbob",
-			"bob@your mom"
-			);
+			"bob@your mom",
+			"alot@of.sub.domain.s",
+		);
 		foreach ($data as $datum) {
 			$this->assertFalse(is_email($datum), $datum);
 		}
