Just use varchar(50). Longer emailemails are crap all the, every time.
Just look how long 50 chars is:
peoplewithanemail@ddressthislongjustuseashorterone
If you allow 255 character emails:
- Displaying them can mess up your UI (at best they will be cut off, at worst they push your containers and margins around) and
- Malicious users can do things with them you can't anticipate (like those cases where hackers used a free online API to store a bunch of data)
(Statistics show that no-one actually enters more than about 50 chars for a legit email address, see e.g.: pageman's answer https://stackoverflow.com/a/1199245/87861)