Hyd Cyfeiriad E-bost Dilys

Depositphotos 1948865 s

Roedd yn rhaid i mi wneud rhywfaint o gloddio heddiw i ddod o hyd iddo, ond a oeddech chi'n gwybod beth yw hyd dilys cyfeiriad e-bost? Mae wedi torri i mewn i rannau mewn gwirionedd ... Enw@Domain.com. Mae hyn yn ôl RFC2822.

  1. Gall enw fod yn 1 i 64 nod.
  2. Gall parth fod yn 1 i 255 nod.

Waw ... mae hynny'n golygu y gallai hwn fod yn gyfeiriad e-bost dilys:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Ceisiwch ffitio hynny ar gerdyn busnes! Yn eironig, mae'r mwyafrif o feysydd cyfeiriad e-bost wedi'u cyfyngu i 100 nod ar y we. Nid yw hynny'n ddilys mewn gwirionedd. Os hoffech chi ddilysu cyfeiriad e-bost i'w adeiladu'n iawn gan ddefnyddio PHP, gwelais y pyt hwn ar y we:

http://derrick.pallas.us/email-validator/ # Trwydded: Trwydded Am Ddim Academaidd 2.1 # Fersiwn: 2006-12-01a os (! 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]) *) + '.' $ ', $ e-bost)) dychwelyd yn ffug; rhestr ($ lleol, $ parth) = rhaniad ("@", $ e-bost, 2); os (strlen ($ lleol)> 64 || strlen ($ domain)> 255) dychwelwch yn ffug; os ($ gwirio &&! gethostbynamel ($ parth)) dychwelwch yn ffug; dychwelyd yn wir; # DIWEDD ######}

9 Sylwadau

  1. 1
  2. 2

    Do, sylwais ar ddiffyg cydymffurfiad atebion eraill gyda'r RFC hefyd. Rwyf wedi sylwi, serch hynny, fod hyd yn oed y regex hwn yn annodweddiadol ac nid y safon. Rwy'n cofio bod darllen y regex gwirioneddol (caniatáu <,>, ac ati) yn rhy ddwys ar gyfer y mwyafrif o brosesau.

    Fodd bynnag, mae wedi'i ysgrifennu'n gryno ac yn bendant yn ateb a ddylai fod yn dderbyniol i unrhyw gais e-bost menter.

    Diolch eto!
    Doug

  3. 3

    Yn anffodus, cysylltais y dudalen honno â'r RFC anghywir (2821 yn lle 2822) ond mae hynny wedi'i gywiro. Ni all y cromfachau ongl fod yn rhan o rannau lleol neu barthau cyfeiriad e-bost; yn hytrach, maent yn cynrychioli pwyntiau symleiddio, hy gellir eu defnyddio i amgylchynu cyfeiriad e-bost (er enghraifft yn eich darllenydd post) yn union oherwydd na allant fod yn rhan o'r cyfeiriad.

    Un peth nad yw fy swyddogaeth yn ei wneud yw poeni am y ffurf a ddyfynnir o gyfeiriadau e-bost - lle mae'r rhan leol yn ymddangos mewn dyfynbrisiau dwbl - oherwydd yn y bôn mae RFC2821 yn dweud na ddylai unrhyw un orfod ysgrifennu eu cyfeiriad yn y ffordd honno. (Rwy'n credu bod y ffurflen ar gyfer cydnawsedd tuag yn ôl ac mae bellach yn arfer gwael.)

  4. 4

    Mewn gwirionedd RFC2821 YW'r cyfeirnod cywir ar gyfer hyd y cyfeiriad e-bost. Fe'i cefais yno, ond nid yn RFC 2822.

  5. 5

    Mae cyfyngiad yn RFC 2821 ar hyd cyfeiriad yng ngorchmynion MAIL a RCPT o 256 nod. Fel rheol dylid ystyried bod y terfyn uchaf ar hyd cyfeiriadau yn 256.

    - Ffynhonnell: RFC 3696 Errata

    Hefyd, oherwydd bod RFC 2181 yn dweud “Mae enw parth llawn wedi'i gyfyngu i 255 octets”, mae pobl (gan gynnwys ysgrifenwyr RFCs eraill) yn ei gamddehongli dro ar ôl tro fel rhywbeth y gall enwau parth fod yn 255 o hyd. Ond mae RFC2181 yn siarad am gynrychiolaeth lefel protocol DNS ar y wifren, nid cymeriadau y gellir eu hargraffu.

    Uchafswm hyd enw parth yw 253 chars (254 gan gynnwys dot trailing, 255 octets ar y wifren gyda null terfynu). A dyna mae BIND a DiG yn ei weithredu.

  6. 6
  7. 7
  8. 8

Beth ydych chi'n feddwl?

Mae'r wefan hon yn defnyddio Akismet i leihau sbam. Dysgwch sut mae eich data sylwadau yn cael ei brosesu.