Nachdem ich alle Nachrichten heruntergeladen und gespeichert habe
Message[] temp;
Wie erhalte ich die Liste der Anhänge für jede dieser Nachrichten an
List<File> attachments;
Hinweis: Bitte keine Bibliotheken von Drittanbietern, nur JavaMail.
java
attachment
javamail
Folone
quelle
quelle
Die Frage ist sehr alt, aber vielleicht hilft sie jemandem. Ich möchte die Antwort von David Rabinowitz erweitern.
sollte nicht alle Anhänge wie erwartet zurückgeben, da Sie E-Mails haben können, bei denen gemischte Teile ohne definierte Disposition sind.
In diesem Fall können Sie auch nach Dateinamen suchen. So was:
BEARBEITEN
Es gibt einen vollständigen Arbeitscode unter Verwendung der oben beschriebenen Bedingung. Da jedes Teil andere Teile einkapseln kann und der Anhang verschachtelt sein sollte, wird die Rekursion verwendet, um alle Teile zu durchlaufen
quelle
null
. Ist das korrekt?Zeitersparnis für den Code, in dem Sie die Anhangsdatei speichern:
mit javax mail version 1.4 und danach kann man sagen
anstatt
quelle
bodyPart
sollte zuerst konvertiert werdenMimeBodyPart
, wie zum Beispiel:((MimeBodyPart) bodyPart).saveFile("/tmp/" + bodyPart.getFileName());
Sie können einfach die Apache Commons Mail-API MimeMessageParser - getAttachmentList () zusammen mit Commons IO und Commons Lang verwenden.
quelle