(At least in the past) 4 characters - there are reports of someone called Ian having used "n@ai".
(Failing that, a 6 character email address is possible using a one-character username and a domain like 1.fm (.fm = Federated States of Micronesia) or .g.gg (.gg = Guernsey).
Whether these addresses are accepted by all email validation regexps, SMTP servers etc is a different matter.
There appears to be some confusion over the maximum valid email address size. Most people believe it to be 320 characters (64 characters for the username + 255 characters for the domain + 1 character for the @ symbol). Other sources suggest 129 (64 + 1 + 64) or 384 (128+1+255, assuming the username doubles in length in the future).
This confusion means you should heed the 'robustness principle' ("developers should carefully write software that adheres closely to extant RFCs but accept and parse input from peers that might not be consistent with those RFCs." - Wikipedia) when writing software that deals with email addresses. Furthermore, some software may be crippled by naive assumptions, e.g. thinking that 50 characters is adequate (examples). Your 200 character email address may be technically valid but that will not help you if most websites or applications reject it.
The actual maximum email length is currently 254 characters:
"The original version of RFC 3696 did indeed say 320 was the maximum length, but John Klensin (ICANN) subsequently accepted this was wrong."
"This arises from the simple arithmetic of maximum length of a domain (255 characters) + maximum length of a mailbox (64 characters) + the @ symbol = 320 characters. Wrong. This canard is actually documented in the original version of RFC3696. It was corrected in the errata. There's actually a restriction from RFC5321 on the path element of an SMTP transaction of 256 characters. But this includes angled brackets around the email address, so the maximum length of an email address is 254 characters." - Dominic Sayers
It depends on the type of email address. For example, the average AOL email address in our database is 18.7 characters long, with the average .sch.uk email address (i.e. email@example.com) being 32.
The mean average length of mixed email addresses, based on data compiled from six different databases (including our own), is 23 (sources: Metafilter thread and What's the average length of an email address?).
You currently will not find many human-generated email addresses longer than 55 characters, unless they were generated by a mail provider like abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com (which can cause email addresses between 71 and 100 characters long). Hotmail currently does not allow the creation of email addresses longer than 78 characters, Gmail/Yahoo's limits are around 45 characters.
Future trends (anti-spam measures like TDMA, easier access to lengthy novelty domains etc) may lead to longer email addresses.
A commenter on TheDailyWTF.com says "And I thought my email address of 68 characters was long". A poster to the SmarterTools forums reports a user with a 59 character email address. DavesGarden.com reports a 56 character email address. Janusz Slota found a 53 character email address in his database ("There are longer email addresses, but it doesn't mean that you have to accept them in your application. Especially when you have to save the space. Yes, my chart shows a 53 character long email address, but there is only 1 in collection of 92298. I'd not accept this email in my new applications.") and our database contains a 49 character email address.
Autogenerated email addresses (e.g. mailing list unsubscribe addresses) may be longer. The @prod.writely.com upload email addresses used by Google Docs can exceed 62 characters.
Dave's Garden reports an email address with a 31 character username (chattanooga.activities.director). Our database contains a 33 character domain (energyperformancemanagement.co.uk). So in theory a naturally occurring email address of 65+ characters is plausible.
Email address lengths (from our database):
Domain name (including TLD) lengths:
7: e.g. aol.com, msn.com
11: e.g. hotmail.com, yahoo.co.uk
14: e.g. btinternet.com, googlemail.com
When creating a database scheme, designing a user interface or selecting a data structure you will probably need to decide how much space to allocate per email address. You therefore need to know the length of the longest possible email address (if you are not concerned about memory usage) or a reasonably safe compromise (if you want to minimize memory use).
You should allocate 254 characters per email address, which is currently the maximum valid email address length. This ensures your application can cope with all valid email addresses (to date), prevents having to alter your database schema/code/etc at a later date, and eliminates the embarrassment of rejecting a customer's address.
If you need to conserve memory usage, 128 is tentatively adequate, and if necessary you might even get away with 64. But anything less than 40 is foolish (you'll reject more than 0.4% of email addresses).Notes
"The default email length in the database is too short: an email can be longer than 255 chars." (SysCP issue, reported July 2008)
"Well, for corporate apps where the email always follows a fixed pattern, I usually do 128 characters. Never had a problem."
"I've always limited the email address field to 128 characters."
"It was fun finding a theoretical limit, but to size my actual database column, I used a much more practical approach. There is a website (abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com) that offers webmails with very long email addresses that can be as long as 100 characters. So I will declare my email column to be VARCHAR2(100)." - How Long is an Email Address?
When designing our CRM/switchboard database in 2008 I settled upon 80 characters.
"I set the maximum length of the e-mail address in [our] database to 75."
"Drupal allows 64 characters for an email address." (Drupal issue, reported May 2009)
"I've seen a few lengthy ones, of late, I've been doing varchar(64) for them. I'm not going to set aside 320 bytes though..."
"We looked at an Access sample database from Microsoft which only allows 50 characters in total for an email field." - Office Essentials
"The email address that is contained in the yaf_user table does not contain the .com portion of the address. At first I thought it was a truncation issue since the field is varchar (50) but that is not the case..."
"Email addresses are limited to 50 chars in the database and 32 in the software." (EllisLab issue, reported March 2009, possibly marked as 'could not reproduce')
"Our business wants to restrict the length of email addresses captured on forms on our website. I've been looking for facts to back up my claims that their figure is too short (30 characters, recently upped to 50 characters)."
"Email inputboxes are too short and the sgbd length to store the email too, 40 characters." (LimeSurvey issue, reported April 2009)
"After having being bugged for a problem in lbdbq.vim , and having being surprised by the fact that Emacs 'lbdb' plugin has the same problem, I've finally discovered that lbdbq lookup is its responsible. Long email addresses are truncated in lbdbq output at apparently 37 characters." (Debian Bugs Mailing List, November 2008)
At this point it starts getting silly...
"TicketWeb is limited to 32."
"Unfortunately, it's not possible for me to add my email-address due to too short db-field 'email' [char(32)] in table 'firestats_users'. The email-string is going to be truncated without any notification or error message." (FireStats issue, reported April 2009)
"I was reknewing my passport recently and even the paper form only permits a 30 character email address." - TheDailyWTF.com
"I was trying to add my child's teacher into the contact list but it seems that the allowed [email address] length is limited to 30 characters. " (KidsMail issue, resolved June 2009)
"I have an app with email VARCHAR(30), from a logistics company."
"I can't remember why now, but I recently tried to register for a service. I remember thinking it was really quite good. Well thought out, useful, and worth the risk that I'd end up getting spam, as I had with eMusic. But when I tried to register, the box for my email address was clearly limited to 30 characters, and my email address has 31 characters." - 'Lessons in Incompetence'
"It appears that the 'From Email Address' field in the 'Email Marketing' screen it only 25 long. This needs to be longer - say 50 long at least." (SugarCRM issue, reported May 2005)
"Wow. I thought the days of limited fields for inputting things like email addresses were long over. I cannot input my full email address in the provided box/field which seems to be limited to 20 or so characters. We are in the 21st century you know." (DLink issue, reported June 2009
Okay, so you've decided how much database/data structure memory to allocate for your email addresses. But what about the visible size of GUI elements?
Too small and you'll hinder usability (can you immediately tell whether this email address is 'correct'?):
But a generously proportioned form element might break your layout or look unsightly:
An email address UI element should ideally display at least 30 characters, but allow for more if your users have unusually long email addresses, or if you simply want to increase the number of users who can easily enter their email address.