Miroslav Lachman wrote: >> narazil jsem na drobny problem u syntaxe mailove adresy - seznam.cz >> umoznuje zalozeni mailove adresy s pomlckou na zacatku, kdyz na to ale >> chci poslat mail, vrati se mi chyba: >> Diagnostic-Code: X-Postfix; bad address syntax > > Ne kazdemu se chce cist primo RFC, ale tady je z toho pekny vytah: > http://en.wikipedia.org/wiki/E-mail_address#Limitations
Nechci mentorovat, ale pri spravovani site jsou RFC takovy docela dobry zaklad a nikdo, kdo chce spravu delat rozumne by je nemel zcela minout. Obzvlast, kdyz se jedna o spor, zda neco v souladu s RFC je nebo neni. Je to navic v tohle pripade dost snadne (pomineme-li, ze rekurzivni vyhledani potrebnych navazujicich definic si proste vyzada trochu casu): local-part = dot-atom / quoted-string / obs-local-part ----- dot-atom = [CFWS] dot-atom-text [CFWS] dot-atom-text = 1*atext *("." 1*atext) atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" NO-WS-CTL = %d1-8 / ; US-ASCII control characters %d11 / ; that do not include the %d12 / ; carriage return, line feed, %d14-31 / ; and white space characters %d127 ----- quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] qcontent = qtext / quoted-pair qtext = NO-WS-CTL / ; Non white space controls %d33 / ; The rest of the US-ASCII %d35-91 / ; characters not including "\" %d93-126 ; or the quote character quoted-pair = ("\" text) / obs-qp CFWS = *([FWS] comment) (([FWS] comment) / FWS) FWS = ([*WSP CRLF] 1*WSP) / ; Folding white space obs-FWS obs-qp = "\" (%d0-127) obs-FWS = 1*WSP *(CRLF 1*WSP) ----- obs-local-part = word *("." word) word = atom / quoted-string atom = [CFWS] 1*atext [CFWS] Jedine, co nenajdete tady ale v RFC2821 je: local-part The maximum total length of a user name or other local-part is 64 characters. ---------------------------------------- Tudiz: Adresa -pokusny je tudiz platna, neb local-part je ve tvaru atext neb obsahuju pouze znaky, ktere jsou pro atext dovolene a povolena maximalni delka neni prekrocena. > Kdysi davno jsem mel funkcni adresu i ve formatu [EMAIL PROTECTED] Ta regulerni je, lokalni cast je prosty atext ... > mam pocit, ze mi jeden cas fungovala i samotna tecka pred zavinacem, ale > to je uz mimo RFC. ... a ta skutecne regulerni neni, muselo by "." - pak by to byl qtext Tolik RFC. Z praktickych duvodu je ale riskantni pouzivat "neobvykle" adresy. Do spousty registracnich formularu nevyplnite dokonce ani adresu obsahujici plus - protoze ten patlak, co to PHP programoval cteni RFC skipnul (nechtelo se mu cist neco tak sloziteho) a tak nema poneti, jake znaky se v nem mohou vyskytovat. Neni dobre mit v jedne domene dve ruzne local-part lisici se jen velikosti pismen, protoze lide jsou navykli, ze velikost pismen nerozhoduje, coz ve skutecnosti neni pravda (vyjma local-part = postmaster, kde na velikosti skutecne povinne nezalezi). Muzete to, samozrejme, risknout (take na jednom systemu pouzivam emailovou adresu Zde_neodpovidejte._Uzijte_adresu_spravce_z_prikazu_dekana_c.4/[EMAIL PROTECTED] ) ale koledujete si o potize. Stejne jako s adresou zacinajici pomlckou ... Dan -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l