Дължина на валиден имейл адрес

Depositphotos 1948865 с

Днес трябваше да направя ровене, за да го намеря, но знаете ли каква е валидната дължина на имейл адрес? Всъщност е разбит на части ... Name@Domain.com. Това е според RFC2822.

  1. Името може да бъде от 1 до 64 знака.
  2. Домейнът може да бъде от 1 до 255 знака.

Леле ... това означава, че това може да е валиден имейл адрес:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Опитайте да поставите това на визитна картичка! По ирония на съдбата, повечето полета за имейл адреси са ограничени до 100 знака в мрежата. Това всъщност не е валидно. Ако искате да потвърдите имейл адрес за правилна конструкция с помощта на PHP, намерих този фрагмент в мрежата:

http://derrick.pallas.us/email-validator/ # Лиценз: Академичен безплатен лиценз 2.1 # Версия: 2006-12-01a if (! ereg (''. '^'. '[-! # $% & \ '* + / 0-9 =? AZ ^ _a-z {|} ~]'. '(\\.? [-! # $% & \' * + / 0-9 =? AZ ^ _a-z { |} ~]) * '.' @ '.' [a-zA-Z] (-? [a-zA-Z0-9]) * '.' (\\. [a-zA-Z] (- ? [a-zA-Z0-9]) *) + '.' $ ', $ имейл)) return false; списък ($ local, $ domain) = split ("@", $ email, 2); ако (strlen ($ local)> 64 || strlen ($ домейн)> 255) връща false; if ($ check &&! gethostbynamel ($ domain)) return false; връщане вярно; # КРАЙ ###### }

9 Коментари

  1. 1
  2. 2

    Да, забелязах липсата на съответствие и на други решения с RFC. Забелязах обаче, че дори това регулярно изражение е нетипично и не е стандартно. Спомням си, че прочетох действителния регулярен израз (позволяващ <,>, и т.н.) е твърде интензивен за повечето процеси.

    Написано е накратко и определено решение, което трябва да е приемливо за всяко приложение за имейл на предприятието.

    Благодаря отново!
    Дъг

  3. 3

    За съжаление свързах тази страница с грешния RFC (2821 вместо 2822), но това беше коригирано. Ъгловите скоби не могат да бъдат част от локалните или домейн части на имейл адрес; по-скоро те представляват точки за токенизация, т.е. те могат да се използват за обграждане на имейл адрес (например във вашия четец на поща) именно защото не могат да бъдат част от адреса.

    Едно нещо, което моята функция не прави, е да се притеснявам за цитираната форма на имейл адреси - където локалната част се появява с двойни кавички - защото RFC2821 по същество казва, че никой никога не трябва да пише адреса си по този начин. (Считам, че формулярът е за обратна съвместимост и сега е лоша практика.)

  4. 4

    Всъщност RFC2821 Е правилната препратка за дължината на имейл адреса. Намерих го там, но не и в RFC 2822.

  5. 5

    В RFC 2821 има ограничение за дължината на адрес в команди MAIL и RCPT от 256 знака. Обикновено горната граница на дължините на адресите трябва да се счита за 256.

    - Източник: RFC 3696 Грешка

    Освен това, тъй като RFC 2181 казва „Пълното име на домейн е ограничено до 255 октета“, то многократно се тълкува погрешно от хората (включително авторите на други RFC), което означава, че имената на домейни могат да бъдат с дължина 255 символа. Но RFC2181 говори за представяне на ниво DNS протокол в проводника, а не за печатни знаци.

    Максималната дължина на име на домейн е 253 символа (254, включително последваща точка, 255 октета на проводника с прекратяване null). И това е, което BIND и DiG прилагат.

  6. 6

    Програмистите, които подценяват потенциалните размери на имейл адресите, създадоха няколко проблема: http://www.eph.co.uk/resources/email-address-le...

    Предполагам, че ако вашият имейл адрес е нещо мъничко като „jack1983@aol.com“, може би смятате, че дори 30 знака са щедри.

  7. 7

    За съжаление горният URL адрес е счупен ...

    Програмистите, които подценяват потенциалните размери на имейл адресите, създадоха няколко проблема:

    http://www.eph.co.uk/resources/email-address-leng...

    Предполагам, че ако имейл адресът ви е нещо мъничко като „jack1983@aol.com“, може би смятате, че дори 30 знака са щедри.

  8. 8

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.