Ich verwende den folgenden Code, den Körper eines Nachrichtenobjekts zu lesen:Warum wirft Javamail eine IOException, wenn eine Plain/Text-Nachricht geöffnet werden soll?
Object content = _message.getContent();
String body = null;
if (content instanceof String) {
body = (String) content;
} else if (content instanceof Multipart) {
Multipart multipart = (Multipart) content;
BodyPart part = multipart.getBodyPart(0);
body = (String) part.getContent();
}
Wenn der Inhalt mehrteiliger ist, alles funktioniert gut, aber wenn der Inhalt nur text/plain ist, erhalte ich die folgende Ausnahme (bei die getContent() -Aufruf in Zeile 1 bereits):
13.01.2011 17:22:23 org.zkoss.zk.ui.impl.UiEngineImpl handleError:1253
SCHWERWIEGEND: >>org.zkoss.zk.ui.UiException: java.io.IOException
java.io.IOException
at javax.mail.internet.MimePartDataSource.getInputStream(MimePartDataSource.java:108)
at com.sun.mail.handlers.text_plain.getContent(text_plain.java:90)
at javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:775)
at javax.activation.DataHandler.getContent(DataHandler.java:522)
at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1396)
ich habe auch versucht, den Code in der FAQ Java Mail angezeigt: http://www.oracle.com/technetwork/java/faq-135477.html#mainbody
gleiches Ergebnis.
Die Nachricht wurde abgerufen, indem getMessages (n) auf einer IMAPFolder-Instanz aufgerufen wurde. Die Ordnerinstanz stammt von einem IMAPStore-Objekt.
Ich bin völlig aus Ideen, was könnte schief gehen ... Hat jemand einige Ideen?
Die stacktrace unvollständig zu sein scheint. Welche IOException wird ausgelöst? Bitte geben Sie die Nachricht + Kopfzeilen der E-Mail an. –
Und wie wurde die 'MimeMessage' erstellt? – dkarp