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. He notat, però, que fins i tot aquesta expressió regular és atípica i no l'estàndard. Recordo que llegir l'expressió regular real (permetre <,>, etc.) és massa intens per a la majoria dels processos.

    Tanmateix, està escrit 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, vaig enllaçar aquesta pàgina amb el RFC incorrecte (2821 en lloc de 2822), però això s'ha corregit. Els claudàtors angulars 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 de les adreces de correu electrònic, on la part local apareix entre cometes dobles, perquè RFC2821 diu essencialment que ningú no hauria d'escriure la seva adreça d'aquesta manera. (Crec que el formulari és per compatibilitat enrere i ara és una mala pràctica.)

  4. 4

    De fet, 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 RFC 2822.

  5. 5

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

    — Font: RFC 3696 Errata

    A més, com que la RFC 2181 diu "Un nom de domini complet està limitat a 255 octets", la gent (inclosos els autors d'altres RFC) l'interpreten repetidament malament com a significat 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 nul final). 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.