Fad seòladh puist-d dligheach

Depositphotos 1948865 s

B ’fheudar dhomh beagan cladhach a dhèanamh an-diugh gus a lorg, ach an robh fios agad dè an fhaid dhligheach a tha ann an seòladh puist-d? Tha e dha-rìribh air a bhriseadh na phàirtean ... Ainm@Domain.com. Tha seo a rèir RFC2822.

  1. Faodaidh ainm a bhith 1 gu 64 caractar.
  2. Faodaidh fearann ​​a bhith 1 gu 255 caractar.

Wow… tha sin a ’ciallachadh gum faodadh seo a bhith na sheòladh puist-d dligheach:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Feuch ri sin a chuir air cairt gnìomhachais! Gu h-ìoranta, tha a ’mhòr-chuid de raointean seòladh puist-d cuingealaichte ri 100 caractar air an lìon. Chan eil sin dligheach. Ma tha thu airson seòladh puist-d a dhearbhadh airson togail ceart a ’cleachdadh PHP, lorg mi a’ chriomag seo air an lìon:

http://derrick.pallas.us/email-validator/ # Ceadachas: Cead an-asgaidh Acadaimigeach 2.1 # Tionndadh: 2006-12-01a ma tha (! 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]) *) + '.' $ ', $ post-d)) till meallta; liosta ($ ionadail, $ domain) = sgoltadh ("@", $ post-d, 2); ma tha (strlen ($ ionadail)> 64 || strlen ($ domain)> 255) tilleadh meallta; ma tha ($ check &&! gethostbynamel ($ domain)) a ’tilleadh meallta; tilleadh fìor; # CRÌOCH ######}

9 Beachdan

  1. 1
  2. 2

    Bha, mhothaich mi dìth gèilleadh fuasglaidhean eile leis an RFC cuideachd. Tha mi air mothachadh, ge-tà, gu bheil eadhon an regex seo annasach agus chan e an ìre àbhaisteach. Tha cuimhne agam a bhith a ’leughadh an regex fhèin (a’ ceadachadh <,>, msaa) ro dhian airson a ’mhòr-chuid de phròiseasan.

    Ach, tha e sgrìobhte gu sgiobalta agus gu cinnteach fuasgladh a bu chòir gabhail ri tagradh post-d iomairt sam bith.

    Taing a-rithist!
    Doug

  3. 3

    Gu mì-fhortanach, cheangail mi an duilleag sin ris an RFC ceàrr (2821 an àite 2822) ach chaidh sin a cheartachadh. Chan fhaod na camagan ceàrnach a bhith nam pàirt de na pàirtean ionadail no fearainn de sheòladh puist-d; an àite sin, tha iad a ’riochdachadh puingean tòcan, ie faodar an cleachdadh gus seòladh puist-d a chuairteachadh (mar eisimpleir anns an leughadair puist agad) dìreach leis nach urrainn dhaibh a bhith nam pàirt den t-seòladh.

    Is e aon rud nach bi an obair agam a ’dèanamh dragh mun t-seòrsa ainmichte de sheòlaidhean puist-d - far a bheil am pàirt ionadail a’ nochdadh ann an luachan dùbailte - oir tha RFC2821 ag ràdh gu bunaiteach nach bu chòir gum feumadh duine a-riamh an seòladh aca a sgrìobhadh san dòigh sin. (Tha mi a ’creidsinn gu bheil am foirm airson co-fhreagarrachd air ais agus tha e a-nis na dhroch chleachdadh.)

  4. 4
  5. 5

    Tha cuingealachadh ann an RFC 2821 air fad seòladh ann an òrdughan MAIL agus RCPT de 256 caractar. Mar as trice bu chòir beachdachadh air 256 mar a ’chrìoch as àirde.

    - Stòr: RFC 3696 Errata

    Cuideachd, leis gu bheil RFC 2181 ag ràdh “Tha làn ainm fearainn air a chuingealachadh ri 255 octets”, tha e air a mhì-mhìneachadh le daoine (a ’toirt a-steach sgrìobhadairean RFC eile) a-rithist a’ ciallachadh gum faod ainmean fearainn a bhith 255 chars a dh ’fhaid. Ach tha RFC2181 a ’bruidhinn mu riochdachadh ìre protocol DNS air an uèir, chan e caractaran a ghabhas clò-bhualadh.

    Is e an fhad as fhaide de ainm fearainn 253 chars (254 a ’toirt a-steach dot trailing, 255 octets air an uèir le crìoch a chuir air null). Agus is e sin a tha BIND agus DiG a ’buileachadh.

  6. 6
  7. 7
  8. 8

Dè do bheachd?

Tha an làrach seo a 'cleachdadh Akismet gus spama a lùghdachadh. Ionnsaich mar a thathar a 'pròiseasadh an dàta bheachdan agad.