?

Log in

No account? Create an account

rauf


Блог Алиева Рауфа

О жизни и о себе


валидация е-майлов
rauf
Сейчас встал вопрос, какие символы допустимы в адресе электроной почты.
Полез в интернет искать.

Нашел очень интересную информацию.
Например, RFC 3696 специально разработан для того, чтобы отвечать на такие каверзные вопросы. Про е-майл, домены, урлы и т.д.

Вот некоторые факты-выдержки:
1. Доменное имя может также быть заменено на ip-адрес в квадратных скобках. Правда, уточняется, что это больше для отладки придумано.
2. имя пользователя перед собачкой может быть заключено в кавычки ("), и тогда внутри можно указывать любые ASCII-символы. Для того, чтобы использовать специальные символы, используется квотинг - перед символов ставится backslash (\). Например, такой е-майл считается валидным: Abc\@def@domain.ru или такой: Joe.\\Blow@example.com или такой: "Abc@def"@example.com
3. Без квотирования (кавычек или бэкслэша) могут быть использованы в имени пользователя следующие символы: ! # $ % & ' * + - / = ? ^ _ ` . { | } ~
4. Знак "." только не может быть использован в начале или в конце имени пользователя. Фактически, любой отображаемый ASCII-символ может быть использован в имени пользователя, за исключением @, бэкслэша, двойной кавычки, запятой или квадратных скобок. А если вдруг очень надо и их, то ставим перед ними бэкслэш.
5. Примеры валидных е-майл адресов: user+mailbox@example.com, customer/department=shipping@example.com, $A12345@example.com, def!xyz%abc@example.com, _somename@example.com. Более того, стандарт разрешает и такие е-майлы:
!#$%&'*+-/=.?^_`{|}~@[1.0.0.127]
!#$%&'*+-/=.?^_`{|}~@[IPv6:0123:4567:89AB:CDEF:0123:4567:89AB:CDEF]
6. На длину е-майл адреса есть ограничение. Имя пользователя - не больше 64 символов, домен - не больше 255 символов.

Валидатор на е-майлы вывешен на викибукс