Jak se rozlisi jednotlive maily v mailboxu?

Jan Kybic kybic na circhp.epfl.ch.epfl.ch
Pondělí Říjen 13 14:12:15 CEST 1997


> Dotaz je mozna hloupy, ale snazil jsem se a nikde nenasel
> odpoved (a nechce se mi prohlize zdrojaky elmu). Jak poznam
> mailboxu, kde konci jeden mail a zacina dalsi? Podle
> 'From' radku hlavicky to byt nemuze, co kdyby neco takoveho
> bylo uprostred mailu?

Doporucuji podivat se na program 'formail' z baliku 'procmail'. Pokud
ten respektuje zavedene konvence, pak je to zhruba takto (symbolicky):

<mailbox> = empty | <message> <mailbox>
<message> = <head> <empty_line> <body> <empty_line>
<head> = "From: " [^\n]* \n <lines>
<lines> = empty | <line> <lines>
<line> = [^\n]* \n
<body> = <lines>
<empty_line> = \n

Tedy zprava zacina radkou na jejimz zacatku je "From: " a pred niz je
bud nic, nebo prazdny radek. 

Krome toho pokud hlavicka obsahuje radek "Content-Length: xxx", pak
formail preskoci presne tolik byte a pak zacne znova hledat "From: ".

Za presnost nerucim, ale uz jsem to jednou pouzil (potreboval jsem z
Unixoveho mailboxu vytahat zpravy po jedne) a chodilo to. Zdrojaky tu
ovsem nemam.

Honza 


-- 
-------------------------------------------------------------------------
Jan Kybic <xkybic na sun.felk.cvut.cz>        (Muzete psat i s diakritikou) 
http://cmp.felk.cvut.cz/~kybic/       tel. 42-2-301 88 26
For PGP key finger kybic na fu.felk.cvut.cz or see my WWW page.


Další informace o konferenci Linux