Derīgs e-pasta adreses garums

Depositphotos 1948865 s

Man šodien vajadzēja nedaudz rakt, lai to atrastu, bet vai zinājāt, kāds ir derīgs e-pasta adreses garums? Tas faktiski ir sadalīts daļās ... Vārds@domens.com. Tas ir saskaņā ar RFC2822.

  1. Nosaukums var būt no 1 līdz 64 rakstzīmēm.
  2. Domēna garums var būt no 1 līdz 255.

Wow ... tas nozīmē, ka tā varētu būt derīga e-pasta adrese:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaLielisks iespaids, kas ir slikts sliktajam laikam
tumarutrumbaturpisamassaaconsectetueararcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPasellusatin
ciduntaturpisaduis.com

Mēģiniet to ievietot vizītkartē! Ironiski, bet lielākajā daļā e-pasta adrešu lauku tīmeklī ir ierobežots līdz 100 rakstzīmēm. Tas faktiski nav derīgs. Ja vēlaties apstiprināt e-pasta adresi pareizai būvniecībai, izmantojot PHP, es tīklā atradu šo fragmentu:

http://derrick.pallas.us/email-validator/ # Licence: Academic Free License 2.1 # Versija: 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]) *) + '.' $ ', $ email)) return false; saraksts ($ local, $ domain) = split ("@", $ email, 2); ja (strlen ($ local)> 64 || strlen ($ domain)> 255) atgriež false; ja ($ check &&! gethostbynamel ($ domēns)) atgriež false; atgriezties taisnība; # END ######}

9 Komentāri

  1. 1
  2. 2

    Jā, es pamanīju arī citu risinājumu neatbilstību RFC. Esmu pamanījis, ka pat šī regex ir netipiska, nevis standarta. Es atceros, ka reālā regex lasīšana (atļaušana <,>, utt.) Ir pārāk intensīva lielākajai daļai procesu.

    Tomēr tas ir rakstīts kodolīgi un noteikti ir risinājums, kam jābūt pieņemamam jebkurai uzņēmuma e-pasta lietojumprogrammai.

    Vēlreiz paldies!
    Doug

  3. 3

    Diemžēl es saistīju šo lapu ar nepareizo RFC (2821, nevis 2822), taču tas ir izlabots. Leņķa iekavas nevar būt daļa no e-pasta adreses vietējās vai domēna daļas; drīzāk tie apzīmē marķēšanas punktus, ti, tos var izmantot, lai ieskautu e-pasta adresi (piemēram, jūsu pasta lasītājā) tieši tāpēc, ka tie nevar būt adreses daļa.

    Viena lieta, ko mana funkcija nedara, ir uztraukšanās par citēto e-pasta adrešu formu - kur vietējā daļa parādās divkāršās pēdiņās -, jo RFC2821 būtībā saka, ka nevienam nekad nevajadzētu rakstīt savu adresi šādā veidā. (Es uzskatu, ka veidlapa ir paredzēta savietojamībai atpakaļ, un tagad tā ir slikta prakse.)

  4. 4
  5. 5

    RFC 2821 ir ierobežots adreses garums MAIL un RCPT komandās ar 256 rakstzīmēm. Adreses garuma augšējā robeža parasti jāuzskata par 256.

    - Avots: RFC 3696 Errata

    Turklāt, tā kā RFC 2181 saka: “Pilna domēna nosaukuma ierobežojums ir 255 okteti”, cilvēki (tostarp citu RFC rakstītāji) to atkārtoti nepareizi interpretē, domājot, ka domēnu nosaukumi var būt 255 rakstzīmes. Bet RFC2181 runā par DNS protokola līmeņa attēlojumu uz stieples, nevis izdrukājamām rakstzīmēm.

    Maksimālais domēna vārda garums ir 253 rakstzīmes (254 ieskaitot beigu punktu, 255 oktetes uz stieples ar beigu nulli). Un to BIND un DiG īsteno.

  6. 6
  7. 7
  8. 8

Ko jūs domājat?

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāts jūsu komentārs.