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.
- Gall enw fod yn 1 i 64 nod.
- 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
laaluctuscaPellentesqueatinciduntbadiamacondimn
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 ######}
Rwy'n falch bod rhywun wedi cael hynny'n ddefnyddiol! Mae chwilio ar Google am “e-bost regexp” yn datgelu llawer o ymadroddion rheolaidd nad ydyn nhw'n cysoni â'r RFC.
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
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.)
Mewn gwirionedd RFC2821 YW'r cyfeirnod cywir ar gyfer hyd y cyfeiriad e-bost. Fe'i cefais yno, ond nid yn RFC 2822.
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.
Mae datblygwyr sy'n tanamcangyfrif maint posibl cyfeiriadau e-bost wedi achosi ychydig o broblemau: http://www.eph.co.uk/resources/email-address-le...
Rwy'n dyfalu a yw'ch cyfeiriad e-bost yn rhywbeth bach iawn fel “jack1983@aol.com” efallai y byddech chi'n meddwl bod hyd yn oed 30 nod yn hael.
Mae'n ddrwg gennym, mae'r URL uchod wedi torri ...
Mae datblygwyr sy'n tanamcangyfrif maint posibl cyfeiriadau e-bost wedi achosi ychydig o broblemau:
http://www.eph.co.uk/resources/email-address-leng...
Rwy'n dyfalu a yw'ch cyfeiriad e-bost yn rhywbeth bach iawn fel "jack1983@aol.com" efallai y byddech chi'n meddwl bod hyd yn oed 30 nod yn hael.
Newydd ddod o hyd i'r post hwn ... yn ddoniol iawn. Rwy'n meddwl tybed nawr a allaf i gofrestru'r lol parth hwnnw.