Etibarlı e-poçt ünvanı uzunluğu

Depositphotos 1948865 s

Bunu tapmaq üçün bu gün bir az qazma işləri görməli idim, amma bir e-poçt adresinin etibarlı uzunluğunun nə olduğunu bilirdinmi? Əslində hissələrə ayrılıb ... Ad@Domain.com. Buna görə RFC2822.

  1. Ad 1 ilə 64 simvol arasında ola bilər.
  2. Domen 1 - 255 simvol ola bilər.

Vay ... bu o deməkdir ki, bu, etibarlı bir e-poçt ünvanı ola bilər:


loremaipsumadolorasitaametbaconsectueraadipiscin
geyitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiaamaidacondimn
hər hansı bir problemi həll etmək mümkün deyil
ciduntaliberoaaugueavestibulumaeratcaFasellusatin
ciduntaturpisaduis.com

Bunu vizit kartına yerləşdirməyə çalışın! Qəribədir ki, əksər e-poçt ünvanları vebdə 100 simvolla məhdudlaşır. Bu əslində etibarlı deyil. PHP istifadə edərək düzgün bir tikinti üçün bir e-poçt ünvanını təsdiqləmək istəyirsinizsə, bu parçanı şəbəkədə tapdım:

http://derrick.pallas.us/email-validator/ # Lisenziya: Akademik Pulsuz Lisenziya 2.1 # Versiya: 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)) false return; siyahı ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) false return; if ($ check &&! gethostbynamel ($ domain)) false return; doğru qayıt; # SON ######}

9 Şərhlər

  1. 1
  2. 2

    Bəli, digər həllərin də RFC-yə uyğun gəlmədiyini gördüm. Mən qeyd etdim ki, hətta bu regex standart deyil, atipikdir. Yadımdadır, faktiki regex-i oxumaq (icazə vermək <,>, və s.) əksər proseslər üçün çox intensivdir.

    Bununla belə, hər hansı bir müəssisə e-poçt tətbiqi üçün məqbul olmalı olan qısa və mütləq bir həll yolu yazılmışdır.

    Bir daha təşəkkürlər!
    Doug

  3. 3

    Təəssüf ki, mən həmin səhifəni səhv RFC ilə əlaqələndirdim (2821 əvəzinə 2822), lakin bu düzəliş edildi. Bucaq mötərizələri e-poçt ünvanının yerli və ya domen hissələrinin bir hissəsi ola bilməz; daha doğrusu, onlar tokenizasiya nöqtələrini təmsil edirlər, yəni onlar e-poçt ünvanını əhatə etmək üçün istifadə oluna bilər (məsələn, poçt oxuyucunuzda) məhz ünvanın bir hissəsi ola bilmədiklərinə görə.

    Funksiyamın etmədiyi bir şey, yerli hissənin qoşa dırnaq içərisində göründüyü e-poçt ünvanlarının sitat formasından narahat olmaqdır, çünki RFC2821 mahiyyətcə deyir ki, heç kim öz ünvanını bu şəkildə yazmamalıdır. (İnanıram ki, forma geriyə uyğunluq üçündür və indi pis təcrübədir.)

  4. 4

    Əslində RFC2821 e-poçt ünvanı uzunluğu üçün düzgün istinaddır. Mən onu orada tapdım, amma RFC 2822-də yox.

  5. 5

    RFC 2821-də MAIL və RCPT əmrlərində 256 simvoldan ibarət ünvan uzunluğuna məhdudiyyət qoyulub. Ünvan uzunluqlarının yuxarı həddi adətən 256 hesab edilməlidir.

    — Mənbə: RFC 3696 Errata

    Həmçinin, RFC 2181-də “Tam domen adı 255 oktetlə məhduddur” dediyi üçün bu, insanlar (digər RFC-lərin müəllifləri də daxil olmaqla) tərəfindən dəfələrlə yanlış təfsir edilir, bu mənada domen adları 255 simvol uzunluğunda ola bilər. Ancaq RFC2181 çap edilə bilən simvollardan deyil, teldə DNS protokolu səviyyəsində təmsildən danışır.

    Domen adının maksimum uzunluğu 253 simvoldur (arxadakı nöqtə daxil olmaqla 254 simvol, son nöqtə ilə teldə 255 oktet). BIND və DiG həyata keçirdikləri budur.

  6. 6
  7. 7

    Üzr istəyirik, yuxarıdakı URL pozulub...

    Tərtibatçılar e-poçt ünvanlarının potensial ölçülərini düzgün qiymətləndirməyən bir neçə problemə səbəb oldular:

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

    Güman edirəm ki, e-poçt ünvanınız "jack1983@aol.com" kimi kiçik bir şeydirsə, hətta 30 simvolun səxavətli olduğunu düşünə bilərsiniz.

  8. 8

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.