Newsgroup: it.comp.lang.perl
Titolo: To MIME or not to MIME


This is a multi-part message in MIME format.
------=_NextPart_000_0012_01C4F187.7ACB2870
Content-Type: text/plain;
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Ciao sono assente!!!
------=_NextPart_000_0012_01C4F187.7ACB2870
Content-Type: text/html;
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Ciao sono =
assente!!!</FONT></DIV></BODY></HTML>
------=_NextPart_000_0012_01C4F187.7ACB2870--
-- 
nathanvi
ICQ --> 20318568
mail --> vitto.z A_T 
tiscali.it
sito --> 
http://www.centrostudiraffaello.it/sito/

 leggibile (nell'esempio sotto dovrebbe venire fuori soltanto *Ciao sono
Il metodo 'parse' restituisce un oggetto di tipo "MIME::Entity", con i cui 
metodi puoi navigare la struttura del messaggio ed estrarne qualsiasi 
frammento.
Nel caso in questione, si tratta di un messaggio multipart/alternative. Con 
il metodo 'parts' puoi accedere alle varie parti, e scegliere quella che ti 
interessa (cioč la prima).
Per ulteriori informazioni, perldoc MIME::Entity.
Max

 parti, e scegliere quella che ti interessa (cioè la prima).
A questo punto ho provato a vederne il numero di parti ma mi dice 0...
Come è possibile se c'e' ne sono almeno 2 o 3??
E' ovvio che quando poi vado a stamparmi una parte qualsiasi non mi
stampa nulla anche se con un print_body mi restituisce tutto il
messaggio per intero in formato mime...
Mi sta venendo la tentazione di farmi uno script per conto mio :-)
Non riesco a capire dove sbaglio :-(
<script>
open MAIL, "mime.txt" or die "$!";
### Create a new parser object:
$parser = new MIME::Parser;
$parser->output_under("./tmp");
$entity = $parser->parse(\*MAIL);
$entity->dump_skeleton;
$num_parts  = $entity->parts;
$first_part = $entity->parts(0);
print "Num Parti:",$num_parts,"\n\n";
</script>
<output>
Content-type: text/plain
Effective-type: text/plain
Body-file: tmp/msg-1105184004-3693-0/msg-3693-1.txt
--
Num Parti:0
</output>
<file mime.txt>
Come messaggio precedente
</file mime.txt>


 Come è possibile se c'e' ne sono almeno 2 o 3??
Sei sicuro che il file che dai in pasto al parser contenga un messaggio 
MIME completo e ben formato? Quello che hai mostrato nel tuo primo post era 
solo il body multipart; il messaggio completo deve comprendere le 
intestazioni (header) iniziali.
Max

 comprendere le intestazioni (header) iniziali.
Il problema è che io ho solo quello :-(
C'e' un programma che mi genera questo tipo di files e da questi io devo
mandare a un determinato indirizzo dei messaggi di posta elettronica
con, nel corpo, ciò che viene detto nel messaggio all'interno del file
in formato leggibile...
Riassunto:
- Un programma mi genera files come postato nel primo mess
- Devo spedire il contenuto di tali file LEGGIBILE ad un indirizzo 
- Prendo il file e...
  - so aprirlo
  - so spedirlo
  - mi manca trasformarlo in qualcosa di leggibile :-(
Pensavo che il MIME::Parser facesse il lavoro sporco ma.... mi sa di no.
Mi conviene scrivermi un programma che mi faccia il parsing volta per
volta?
Grazie,
	naathanvi
