PDA

View Full Version : [JAVA] JavaMail e allegati


Icedguardian
27-08-2003, 15:20
Avendo un MimeMessage con allegati come faccio a separare gli allegati
dal corpo del messaggio???

Per es. voglio stampare il corpo in System.out e salvare gli allegati nella directory corrente.

E' piuttosto urgente quindi se qualcuno mi può dare anche solo una "dritta"
gli sarei molto grato.

Ciao

PGI
27-08-2003, 19:24
JavaMail dovrebbe interpretare i messaggi con allegati come messaggi con contenuto Multipart.

A sua volta il Multipart è composto di tanti "bodypart" quanti sono gli allegati più il testo del messaggio.

In teoria il metodo più rapido per separare gli allegati dal messaggio dovrebbe essere una cosa del genere:


Message[] msg=folder.getMessages();
for(int i=0;i<msg.length;i++) {
Multipart m=(Multipart) msg[i].getContent();
System.out.println("Count: "+m.getCount());
for(int j=0;j<m.getCount();j++) {
MimeBodyPart bp=(MimeBodyPart)m.getBodyPart(j);
String fName=bp.getFileName();
if(fName==null) {
System.out.println("messaggio:\n"+bp.getContent());
} else {
System.out.println("Allegati");
System.out.println(bp.getFileName());
}
}
}


Il tutto in teoria perchè non so nemmeno se compila una roba del genere.

Ciao.

Icedguardian
27-08-2003, 21:00
Io ho scritto una cosa del genere (è ancora da testare) ma non capisco come riconoscere se una parte è il body della mail oppure un allegato di tipo plain/text per es.???

:confused:

Appena trovo un po' di tempo creo un main che scarichi la posta da un mio account e vedo come si comporta con le mail Multipart (quelle semplici ho fatto un test veloce e vanno).

Ciao

Icedguardian
27-08-2003, 21:02
Scusa sono un idiota lo riletto bene adesso il tuo codice e ho visto che se non ha un nome vuoldire che è il messaggio :p

GRAZIE :D

PGI
27-08-2003, 21:41
Se funziona dimmelo perchè son curioso anch'io :).

Ciao.

Icedguardian
28-08-2003, 08:58
Provato, e sembra funzionare :D :D

GRAZIE