სწორი ელ.ფოსტის სიგრძე

Depositphotos 1948865 s

დღეს ამის გაკეთება მომიწია ჩასატარებლად, მაგრამ ხომ არ იცით რა არის ელექტრონული ფოსტის მისამართის სწორი სიგრძე? ის ფაქტობრივად ნაწილებად არის დაყოფილი სახელი @ Domain.com. ეს შესაბამისად RFC2822.

  1. სახელი შეიძლება იყოს 1-დან 64 სიმბოლო.
  2. დომენი შეიძლება იყოს 1-დან 255 სიმბოლომდე.

Wow ... ეს ნიშნავს, რომ ეს შეიძლება იყოს სწორი ელ.ფოსტის მისამართი:


ლორემაიფსუმადოლორასიტამეტაბაკონსექტეტიუერაადიპისცინი
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratca ფაზელუსათინი
ciduntaturpisaduis.com

სცადეთ სავიზიტო ბარათზე განთავსება! ბედის ირონიით, ელექტრონული ფოსტის მისამართების ველების ქსელში შემოიფარგლება 100 პერსონაჟით. ეს სინამდვილეში არ არის მართებული. თუ გსურთ დაადასტუროთ ელ.ფოსტის მისამართი სათანადო მშენებლობისთვის PHP– ის გამოყენებით, მე აღმოვაჩინე ეს ფრაგმენტი ქსელში:

http://derrick.pallas.us/email-validator/ # ლიცენზია: აკადემიური უფასო ლიცენზია 2.1 # ვერსია: 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]) *) + '.' $ ', $ ელ.წერილი)) false დაბრუნების; სია ($ ადგილობრივი, $ დომენი) = გაყოფილი ("@", $ ელ.წერილი, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) false დაბრუნდება; თუ ($ check &&! gethostbynamel ($ domain)) დაბრუნდება false; ნამდვილი დაბრუნება; # ᲓᲐᲡᲐᲡᲠᲣᲚᲘ ###### }

9 კომენტარები

  1. 1

    მოხარული ვარ, რომ ვინმემ ეს სასარგებლო აღმოჩნდა! Google-ში „ელ.ფოსტის regexp“-ის ძიება გამოავლენს უამრავ რეგულარულ გამონათქვამს, რომლებიც არ არის სინქრონიზებული RFC-თან.

  2. 2

    დიახ, შევნიშნე სხვა გადაწყვეტილებების შეუსაბამობა RFC-თანაც. მე შევამჩნიე, რომ ეს რეგექსიც კი ატიპიურია და არა სტანდარტული. მახსოვს, ფაქტობრივი რეგექსის წაკითხვა (<,>, , ა.შ. დაშვება) ძალიან ინტენსიურია პროცესების უმეტესობისთვის.

    თუმცა, ის დაწერილია ლაკონურად და აუცილებლად გამოსავალი, რომელიც მისაღები უნდა იყოს ნებისმიერი საწარმოს ელექტრონული ფოსტისთვის.

    Გმადლობთ კიდევ ერთხელ!
    Doug

  3. 3

    სამწუხაროდ, მე დავუკავშირე ეს გვერდი არასწორ RFC-ს (2821 ნაცვლად 2822), მაგრამ ეს გამოსწორდა. კუთხის ფრჩხილები არ შეიძლება იყოს ელექტრონული ფოსტის მისამართის ლოკალური ან დომენური ნაწილების ნაწილი; უფრო მეტიც, ისინი წარმოადგენენ ტოკენიზაციის წერტილებს, ანუ მათი გამოყენება შესაძლებელია ელ.ფოსტის მისამართის გარშემო (მაგალითად თქვენი ფოსტის მკითხველში) ზუსტად იმიტომ, რომ ისინი არ შეიძლება იყოს მისამართის ნაწილი.

    ერთი რამ, რასაც ჩემი ფუნქცია არ აკეთებს, არის ფიქრი ელ.ფოსტის მისამართების ციტირებულ ფორმაზე - სადაც ლოკალური ნაწილი ორმაგ ბრჭყალებში ჩნდება - რადგან RFC2821 არსებითად ამბობს, რომ არავის არ უნდა დაწეროს თავისი მისამართი ასე. (მე მჯერა, რომ ფორმა არის უკანა თავსებადობისთვის და ახლა ცუდი პრაქტიკაა.)

  4. 4
  5. 5

    RFC 2821-ში არის შეზღუდვა მისამართის სიგრძეზე MAIL და RCPT ბრძანებებში 256 სიმბოლოსგან. მისამართის სიგრძის ზედა ზღვარი ჩვეულებრივ უნდა ჩაითვალოს 256-ად.

    — წყარო: RFC 3696 Errata

    ასევე, იმის გამო, რომ RFC 2181 ამბობს: „სრული დომენის სახელი შემოიფარგლება 255 ოქტეტით“, ის არაერთხელ არასწორად არის განმარტებული ადამიანების მიერ (მათ შორის სხვა RFC-ების დამწერების მიერ), როგორც ნიშნავს, რომ დომენის სახელები შეიძლება იყოს 255 სიმბოლო. მაგრამ RFC2181 საუბრობს DNS პროტოკოლის დონის წარმოდგენაზე მავთულზე და არა დასაბეჭდად სიმბოლოებზე.

    დომენის სახელის მაქსიმალური სიგრძეა 253 სიმბოლო (254 ბოლო წერტილის ჩათვლით, 255 ოქტეტი მავთულზე დამთავრებული null-ით). და სწორედ ამას ახორციელებენ BIND და DiG.

  6. 6

    დეველოპერებმა, რომლებიც არ აფასებენ ელ.ფოსტის მისამართების პოტენციურ ზომებს, გამოიწვია რამდენიმე პრობლემა: http://www.eph.co.uk/resources/email-address-le...

    ვფიქრობ, თუ თქვენი ელ.ფოსტის მისამართი არის რაღაც პატარა, როგორიცაა "jack1983@aol.com", შეიძლება ფიქრობთ, რომ 30 სიმბოლოც კი გულუხვია.

  7. 7

    უკაცრავად, ზემოთ მოცემული URL გატეხილია…

    დეველოპერებმა, რომლებიც არ აფასებენ ელ.ფოსტის მისამართების პოტენციურ ზომებს, გამოიწვია რამდენიმე პრობლემა:

    http://www.eph.co.uk/resources/email-address-leng...

    ვფიქრობ, თუ თქვენი ელ.ფოსტის მისამართი არის რაღაც პატარა, როგორიცაა "jack1983@aol.com", შეიძლება ფიქრობთ, რომ 30 სიმბოლოც კი გულუხვია.

  8. 8

რას ფიქრობთ?

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.