Longitud d’adreça de correu electrònic vàlida

Depositphotos 1948865 s

Avui he hagut de fer algunes excavacions per trobar-la, però sabíeu quina és la longitud vàlida d'una adreça de correu electrònic? En realitat es divideix en parts ... Nom@domini.com. Això és segons RFC2822.

  1. El nom pot tenir entre 1 i 64 caràcters.
  2. El domini pot tenir entre 1 i 255 caràcters.

Vaja ... això vol dir que podria ser una adreça de correu electrònic vàlida:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Proveu de posar-ho en una targeta de visita. Irònicament, la majoria dels camps d’adreces de correu electrònic estan limitats a 100 caràcters al web. En realitat, això no és vàlid. Si voleu validar una adreça de correu electrònic per a una construcció adequada amb PHP, he trobat aquest fragment a la xarxa:

http://derrick.pallas.us/email-validator/ # License: Academic Free License 2.1 # Versió: 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; list ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) return false; if ($ check &&! gethostbynamel ($ domain)) retorna false; tornar cert; # FINAL ###### }

9 Comentaris

  1. 1
  2. 2

    Sí, també vaig notar la manca de compliment d’altres solucions amb la RFC. Tanmateix, he notat que fins i tot aquesta regex és atípica i no estàndard. Recordo que llegir la regla real (permetre <,>, etc.) és massa intensiu per a la majoria de processos.

    Tot i això, està redactada de manera succinta i definitiva una solució que hauria de ser acceptable per a qualsevol aplicació de correu electrònic empresarial.

    Gràcies de nou!
    Doug

  3. 3

    Malauradament, he enllaçat aquesta pàgina amb una RFC incorrecta (2821 en lloc de 2822), però s'ha corregit. Els claudàtors no poden formar part de les parts locals o de domini d'una adreça de correu electrònic; més aviat, representen punts de tokenització, és a dir, es poden utilitzar per envoltar una adreça de correu electrònic (per exemple, al vostre lector de correu) precisament perquè no poden formar part de l'adreça.

    Una cosa que la meva funció no fa és preocupar-se per la forma citada d’adreces de correu electrònic, on la part local apareix entre cometes dobles, perquè RFC2821 diu essencialment que mai ningú hauria d’escriure la seva adreça d’aquesta manera. (Crec que el formulari és compatible amb la compatibilitat amb versions anteriors i ara és una mala pràctica.)

  4. 4

    En realitat, RFC2821 ÉS la referència correcta per a la longitud de l'adreça de correu electrònic. El vaig trobar allà, però no a la RFC 2822.

  5. 5

    Hi ha una restricció a la RFC 2821 sobre la longitud d'una adreça en comandes MAIL i RCPT de 256 caràcters. El límit superior de longituds d’adreça s’ha de considerar normalment com a 256.

    - Font: RFC 3696 Errata

    A més, com que la RFC 2181 diu que "Un nom de domini complet està limitat a 255 octets", les persones (inclosos els escriptors d'altres RFC) interpreten erròniament el fet que els noms de domini poden tenir 255 caràcters. Però RFC2181 parla de representació a nivell de protocol DNS al cable, no de caràcters imprimibles.

    La longitud màxima d'un nom de domini és de 253 caràcters (254 inclòs el punt final, 255 octets al cable amb terminació nul·la). I això és el que implementen BIND i DiG.

  6. 6
  7. 7
  8. 8

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.