Just came across this (RFC2821) and in section 220.127.116.11 (Size limits and minimums) it states (emphasis added):
There are several objects that have required minimum/maximum sizes[...] **local-part** *The maximum total length of a user name or other local-part is 64 characters.* **domain** *The maximum total length of a domain name or number is 255 characters.*
This would indicate an email address could be up to 319 characters, not including the @ symbol for a total size of 320.
I've never seen an email address that long, but since it would techincally be acceptable to have one that long, should databases that store email addresses have a field size of 320? I've always used 255 and never had an issue.