PDA

View Full Version : mail html e javamail


Bardak
09-04-2002, 14:57
Spero mi possiate aiutare perchè sono 4 giorni sto impazzendo tentando di far vedere ad client mail fatto con i jsp le email spedite in formato html ma non ne vuole sapere se cualcuno sa qualcosa vi prego fatevi sentire
Ciauz

kingv
09-04-2002, 15:23
Originariamente inviato da Bardak
[B]Spero mi possiate aiutare perchè sono 4 giorni sto impazzendo tentando di far vedere ad client mail fatto con i jsp le email spedite in formato html ma non ne vuole sapere se cualcuno sa qualcosa vi prego fatevi sentire
Ciauz


cerca di essere un pochino piu' preciso.
Cos'e' che non riesci a fare?

Bardak
09-04-2002, 15:39
Allora sto' costruendo un client di posta tipo libero che viene gestito tramite bowser con dei jsp e per quanto riguarda la spedizione delle mail e la lettura oltre che la cancellazione tutto ok ma non riesco a fargli leggere correttamente le email in formato html me le traduce tutte in testo semplice eliminando i tag
Dico anche che quando vado a vedere il content type non mi riconosce ne il Multiparte/miscelouse(mi sembra si scriva così) nel text/html
ma solo il multipart/mixed e il text/plane
Questo è quanto:rolleyes:

kingv
09-04-2002, 15:55
se fai Message.getContentType() di uno dei messaggi che tu sai essere in html cosa ti dice?

Bardak
09-04-2002, 16:16
o text/plane o multipart/mixed

kingv
09-04-2002, 16:34
Originariamente inviato da Bardak
[B]o text/plane o multipart/mixed

azz dovrebbe essere text/html

che versione di javamail usi? hai provato a cambiare libreria e a utilizzare la 1.3 beta per fare la prova se il risultato e' lo stesso?
qual e' il mail server?

Bardak
09-04-2002, 16:43
allora ila versione dalla javamail è la 1.2 mentre come mail server abbiamo il exchange

kingv
09-04-2002, 17:15
Originariamente inviato da Bardak
[B]o text/plane o multipart/mixed


nel secondo caso se fai il fetch ti ogni "part" riesci a ricomporre il mex??

Bardak
09-04-2002, 17:19
No ho provato mi posti il codice per fare il fech grazie

kingv
09-04-2002, 18:36
Originariamente inviato da Bardak
[B]No ho provato mi posti il codice per fare il fech grazie


Prova cosi'


if(message.isMimeType("multipart/*"))
{
Multipart mp=(Multipart)msg.getContent();
ArrayList list=new ArrayList();
fetchParts(list,mp);
}


qui c'e' il metodo:


void fetchParts(ArrayList list, Multipart mp) throws Exception
{

for (int i=0; i<mp.getCount(); i++)
{
Part part=mp.getBodyPart(i);
if(part.isMimeType("multipart/*"))
fetchParts(list,(Multipart)part.getContent());
else
list.add(apart);

}
}



Nell'array list dovresti avere le parti per ricomporre il messaggio.
non sono un esperto di javamail, e' solo una prova ;)

Bardak
09-04-2002, 18:48
Ti ringrazio comunque ora non sono in ufficio ma domani provo e poi ti so dire ciauz:D

kingv
09-04-2002, 19:16
Originariamente inviato da Bardak
[B]Ti ringrazio comunque ora non sono in ufficio ma domani provo e poi ti so dire ciauz:D

anche se non funziona fammi sapere, mi interessa.

Bardak
10-04-2002, 09:20
ho provato ad usare il tuo metodo ma non riesco ad usarlo perchè è unvoid mi potresti dire di che classe è il metodo fetch almeno riesco a darli una occhiata e vedere come usarlo correttamente
Grazie e scusa se ti disturbo ancora

kingv
10-04-2002, 09:51
Cioe' non compila?
Se non compila postami l'errore, io il codice l'ho scritto senza poterlo compilare :o

Bardak
10-04-2002, 10:01
il metodo lo compila ma non so propio dove e come usarlo perchè la classe che fa il tutto poi dovrebbe passare in sessione un oggetto aljsp ma se quel metodo è void non torna nulla e mi da l'errore in compilazione perchè non posso passare in sessione un void
è per quello che mi serve la classe del metodo fetch per guardare bene cosa fà e poi agire di conseguenza

kingv
10-04-2002, 10:25
Originariamente inviato da Bardak
[B]il metodo lo compila ma non so propio dove e come usarlo perchè la classe che fa il tutto poi dovrebbe passare in sessione un oggetto aljsp ma se quel metodo è void non torna nulla e mi da l'errore in compilazione perchè non posso passare in sessione un void
è per quello che mi serve la classe del metodo fetch per guardare bene cosa fà e poi agire di conseguenza


Quando hai chiamato il metodo ricorsivo nel'ArrayList che hai passato come argomento ti trovi le parti del messaggio "multipart".
A quel punto prova a vedere cosa c'e' dentro ;)

Bardak
10-04-2002, 10:36
Allora forse non mi sono spiegato bene non posso vedere cosa c'è dentro perchè è cone se fosse una sevlet e se non conpila non funziona quindi non gira e non posso vedere cosa c'è dentro per questo ti ho chiesto di dirmi di che classe è il metodo fetch
perchè almeno guardo casa fa e riesco a destreggiarmi e forse a risolvere almeno così non ti disturbo più

kingv
10-04-2002, 11:37
Originariamente inviato da Bardak
[B]Allora forse non mi sono spiegato bene non posso vedere cosa c'è dentro perchè è cone se fosse una sevlet e se non conpila non funziona quindi non gira e non posso vedere cosa c'è dentro per questo ti ho chiesto di dirmi di che classe è il metodo fetch
perchè almeno guardo casa fa e riesco a destreggiarmi e forse a risolvere almeno così non ti disturbo più


Il frammento di codice che ti ho postato lo devi mettere in una tua classe !
Creati una servlet di test che faccia quello che deve fare la jsp e prova