Anhänge einer Mail abrufen

Mike90

Bekanntes Mitglied
Hallo,

ich habe ein Tool, welches Anhänge von Mails eines E-Mail-Postfachs abruft.

Nun aber bekomme ich Mails, bei dem der Multipart kein reiner javax.mail.Multipart mehr ist, sondern ein javax.mail.internet.MimeMultipart.

Normalerweise müsste doch das hier TRUE ergeben:
Java:
javax.mail.internet.MimeMultipart instanceof javax.mail.Multipart
macht es aber nicht.

Hier mal mein CodeSchnipsel:
Java:
Object content = message.getContent();
if(content instanceof javax.mail.Multipart)
{
 Multipart mp = (Multipart) content;
...
}
else if(content instanceof javax.mail.internet.MimeMultipart)
{
MimeMultipart mp = (MimeMultipart) content;
...
}

Obwohl das Object content aber in diesem Fall ein javax.mail.internet.MimeMultipart ist, komme ich noch nicht mal in den else if Zweig rein.

Kennt jemand dieses Phänomen ?

BG Mike90
 
Java:
Object content = message.getContent();
System.out.println(content.getClass().getName()); // was wird da ausgegeben?
if(content instanceof javax.mail.Multipart)
{..
 
Hm, seltsam. ... Und was passiert wenn du instanceof durch ein equals auf die Klasse änderst? Werden die gewünschten If-Zweige durchlaufen?

Java:
Object content = message.getContent();
if(content.getClass().equals( javax.mail.Multipart.class))
{
 Multipart mp = (Multipart) content;
...
}
else if(content.getClass().equals( javax.mail.internet.MimeMultipart.class))
{
MimeMultipart mp = (MimeMultipart) content;
...
}
 
Hey,
ja, habe ich auch schon probiert.
Ist das gleiche Problem wie vorher.

Die If-Anweisung wird nicht durchlaufen!

???:L
 
habe gerad gesehen, dass ich einmal mail.jar und einmal geronimo...jar im classpath habe 🙁 das könnte es sein. ich teste mal
 

Zurück
Oben