Re: Věc: Test

David Obdrzalek David.Obdrzalek na mff.cuni.cz
Úterý Květen 13 23:24:21 CEST 2014


Tak jsem právě zjistil, že se php funkce quoted_printable_encode chová 
takhle:
CRLF nechá jako CRLF
samotné CR zakóduje na =0D 
samotné LF zakóduje na =0A
LFCR zakóduje na =0A=0D

V dokumentaci se píše "Returns a quoted printable string created according 
to » RFC2045, section 6.7."

Přišel jsem an to náhodou úplně bez souvislosti s tímto vláknem a nejdřív mě 
to dost zarazilo, ale jak tak koukám, ono to je nejspíš v souladu s tím RFC. 
Ale asi jsem to ještě pořádně nepochopil: Když zdroják v php, který něco 
posílá mailem, bude napsaný na platformě používající jako konec řádku jen 
LF, tak to taky tak bude ve stringu co tvoří tělo mailu. Ten když se podhodí 
quoted_printable_encode, tak se to LF dostane do těla mailu zakódované a u 
příjemce se to zase rozkóduje na LF. Vadí to něčemu? Anebo se mají před 
voláním quoted_printable_encode v tom stringu konce řádků přeměnit na CRLF 
aby to bylo důsledně v kanonické formě?

Dále: Pokud se v těle mailu před kódováním objeví samotné CR, samotné LF 
nebo dvojice LFCR, tak vadí to něčemu? Podle mě to snad bude chápáno jako 
jeden nebo dva oktety a ne jako "(4) (Line Breaks)", takže to bude následně 
zakódováno a na straně příjemce nejspíš zase odkódováno do stejného oktetu 
jako to poslal odesílatel, aniž by došlo k automatické konverzi konce řádku 
na CRLF nebo LF podle platformy. Skoro bych řekl, že dobrý mailový klient má 
umět zobrazit jako konec řádku jak CRLF tak samotné LF bez ohledu na to, že 
možná puristi říkají, že jen jedno je správně a to druhé nesmí v mailu být. 

D.O.

On 5 May 2014 at 10:10, Pavel Troller wrote:
> Zdravím,
> 
> > Mozete to prosim vysvetlit?
> 
> Ale zajisté, velmi rád!
> 
> > 
> > Ja tam vidim quoted-printable a =0D=0A ako CRLF, co je na tom nepatricne?
> 
> No právě to celé je nepatřičné! Viz tento odstavec, přímo z RFC 2045:
> 
>     (4)   (Line Breaks) A line break in a text body, represented
>           as a CRLF sequence in the text canonical form, must be
>           represented by a (RFC 822) line break, which is also a
>           CRLF sequence, in the Quoted-Printable encoding.  Since
>           the canonical representation of media types other than
>           text do not generally include the representation of
>           line breaks as CRLF sequences, no hard line breaks
>           (i.e. line breaks that are intended to be meaningful
>           and to be displayed to the user) can occur in the
>           quoted-printable encoding of such types.  Sequences
>           like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely
>           appear in non-text data represented in quoted-
>           printable, of course.
> 
> Takže, tato sekvence má oprávnění výskytu v quoted-printable pouze pro
> "non-text data", což není náš případ, alespoň tak tomuto odstavci rozumím.
> 
> Jako důkaz přikládám i verbatim verzi původního mailu, ovšem celou:
> 
> --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_
> Content-Type: text/plain;
>         charset=UTF-8
> Content-Transfer-Encoding: quoted-printable
> Content-Disposition: inline
> 
> Fruku Bruku :-) =0D=0A=0D=0A* P=C5=AFvodn=C3=AD zpr=C3=A1va *=0D=0AOd:=0D=
> =0Ahwnews na zirafoviny.cz=0D=0AOdesl=C3=A1na:=0D=0A8:25:49=0D=0A05.05.2014=0D=
> =0AKomu:=0D=0Ahw-list na list.hw.cz=0D=0AP=C5=99edm=C4=9Bt:=0D=0ATest=0D=0A=0D=
> =0ABruku fruku - test :-)   Sa=C5=A1a Svobodov=C3=A1
> --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_ Content-Type: text/plain;
> charset="iso-8859-2" MIME-Version: 1.0 Content-Transfer-Encoding:
> quoted-printable Content-Disposition: inline
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 
> --_-_-_=_Next_Part:FFFFFFFF.FFFFFEAE_=_-_-_--
> 
> Všimněte si prosím, že obsahuje 2 quoted-printable části, a to vlastní e-mail a
> hlavičku mailing-listu. A ta, ač je též quoted-printable, CRLF enkódované nemá.
> Japato ?
> 
> > 
> > Dakujem,
> 
> Není opravdu zač!
> 
> > 
> > wek
> 
> Zdraví Pavel
> 
> > 
> > _______________________________________________
> > HW-list mailing list  -  sponsored by www.HW.cz
> > Hw-list na list.hw.cz
> > http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list