Index: modules/user/user.module
===================================================================
--- modules/user/user.module	(revision 53)
+++ modules/user/user.module	(working copy)
@@ -6,7 +6,7 @@
  */
 
 define('USERNAME_MAX_LENGTH', 60);
-define('EMAIL_MAX_LENGTH', 64);
+define('EMAIL_MAX_LENGTH', 254);
 
 /**
  * Invokes hook_user() in every module.
Index: modules/user/user.install
===================================================================
--- modules/user/user.install	(revision 53)
+++ modules/user/user.install	(working copy)
@@ -150,10 +150,10 @@
       ),
       'mail' => array(
         'type' => 'varchar',
-        'length' => 64,
+        'length' => 254,
         'not null' => FALSE,
         'default' => '',
-        'description' => "User's email address.",
+        'description' => "User's e-mail address.",
       ),
       'mode' => array(
         'type' => 'int',
@@ -244,10 +244,10 @@
       ),
       'init' => array(
         'type' => 'varchar',
-        'length' => 64,
+        'length' => 254,
         'not null' => FALSE,
         'default' => '',
-        'description' => 'Email address used for initial account creation.',
+        'description' => 'E-mail address used for initial account creation.',
       ),
       'data' => array(
         'type' => 'text',
@@ -294,3 +294,28 @@
   return $schema;
 }
 
+/**
+ * Changes the users table to allow longer e-mail addresses.
+ */
+function user_update_6001() {
+  $ret = array();
+  $mail_field = array(
+    'type' => 'varchar',
+    'length' => 254,
+    'not null' => FALSE,
+    'default' => '',
+    'description' => "User's e-mail address.",
+  );
+  $init_field = array(
+    'type' => 'varchar',
+    'length' => 254,
+    'not null' => FALSE,
+    'default' => '',
+    'description' => 'E-mail address used for initial account creation.',
+  );
+  db_change_field($ret, 'users', 'mail', 'mail', $mail_field, array('indexes' => array('mail' => array('mail'))));
+  db_change_field($ret, 'users', 'init', 'init', $init_field);
+
+  return $ret;
+}
+
