e-mail adresy na Paegas

Dan Lukes dan at tiscali.cz
Mon Sep 25 18:44:17 CEST 2000


Martin Maèok wrote:

> > Coze? Ty uvozovky tam MUSI byt??? A nepise se do uvozovek nahodou
> > jmeno, ktere ale NENI soucasti emailove adresy?
> 
> To je nepresne. Adresa je
> a) TO, co je mezi znaky "<" a ">"
> b) pokud se znaky <> nevyskytujou, tak vsechno.
> 
> V pripade (a), pokud date adresu do <>, muzete si pred to i za to dat
> cokoliv, muzete a nemusite to davat do "" uvozovek a muzete dat neco do
> () zavorek (pak je to chapano jako komentar). Vsechno kolem te adresy
> bude ignorovano.

	I tohle je nepresne. Dokonce natolik, ze se da rict, ze to proste neni
pravda. Jelikoz nepresnost byla i v dopisu pana Novotneho (ktery
nespravne uvedl tecku jako nepovoleny znak v "local-part" casti adresy a
snad, ponekud nestastne, citoval z RFC821 ackoliv pro tyto ucely je
prislusnejsi RFC822 i kdyz na vysledku to nic nemeni) dovolim si tuto
diskusi doplnit prostou citaci prislusnych RFC - snad se tim spekulace
na toto tema ukonci.

	(Pokud nekdo neni zvedavy na citaci norem a ciste technicky prispevek,
ktery ma jiz jen malo spolecneho s puvodnim dotazem, necht' dal, prosim,
necte).

Z prislusneho RFC vyjimam:

===========================================================
RFC822/[6.1]: SYNTAX

mailbox     =  addr-spec                    ; simple address
            /  phrase route-addr            ; name & addr-spec

route-addr  =  "<" [route] addr-spec ">"

addr-spec   =  local-part "@" domain        ; global address
local-part  =  word *("." word)             ; uninterpreted
                                            ; case-preserved

RFC822/[3.3]: LEXICAL TOKENS

word        =  atom / quoted-string
atom        =  1*<any CHAR except specials, SPACE and CTLs>
specials    =  "(" / ")" / "<" / ">" / "@"  ; Must be in quoted-
                 /  "," / ";" / ":" / "\" / <">  ;  string, to use
                 /  "." / "[" / "]"              ;  within a word.
CTL         =  <any ASCII control           ; (  0- 37,  0.- 31.)
                character and DEL>          ; (    177,     127.)
SPACE       =  <ASCII SP, space>            ; (     40,      32.)


quoted-string = <"> *(qtext/quoted-pair) <">; Regular qtext or 
                                            ; quoted chars.
quoted-pair =  "\" CHAR                     ; may quote any char
qtext       =  <any CHAR excepting <">,     ; => may be folded
                     "\" & CR, and including
                     linear-white-space>

==========================================================

	Z cehoz plyne, ze v lokalni casti adresy lze bez omezeni pouzit
jakykoliv ASCII znak vyjma kontrolnich znaku (ASCII 0-37), DEL (ASCII
127), znaky ()<>@,;:\"[] a SPACE (ASCII 40). 

	Pri pouziti uvozovek nebo quotingu se rozsah pouzitelnych znaku jeste
zvysi, povoleny pak jsou prakticky vsechny znaky vyjma samotne uvozovky,
backslashe a CR (v pripade uzavreni do uvozovek) a skutecne vsechny(!)
ASCII znaky v pripade quotingu.

	Tato pravidla plati obecne - tedy BEZ OHLEDU nato, ZDA JE adresa
UZAVRENA v "<>" zavorkach ci nikoliv a NENI tedy PRAVDA, ZE do ostrych
zavorek LZE PSAT "cokoliv" (naopak, treba znak dvojtecka zde ma jasny
specialni vyznam). Dale neni pravda, ze v pripade adresy psane do
ostrych zavorek lze dat "pred to i za to cokoliv" - spravne lze dat
pouze "pred to" a i v tom pripade je "cokoliv" v nekterych pripadech
nutne quotovat nebo uzavrit do uvozovek.

	Snad jsou tedy timto spory ohledne formatu adresy elektronicke posty
dostatecne zlikvidovany.

				Dan Lukes

-- 
Dan Lukes            tel: +420 2 24102474, fax: +420 2 24102301
root of FIONet, KolejNET, webmaster of info.nic.cz, www.freebsd.cz
AKA: dan at nic.cz, dan at obluda.cz, dan at freebsd.cz, dan at kolej.mff.cuni.cz




More information about the net mailing list