herunterladen von E-mail-Anhang mit Java
Hatte ich einen Blick in die Referenz doc, und der Frühling scheint ziemlich gute Unterstützung für das senden von E-mail. Allerdings brauche ich zur Anmeldung für einen E-mail-Konto, Lesen Sie die Nachrichten, und alle Anhänge herunterladen. Ist das herunterladen von E-mail-Anhänge unterstützt durch die Feder E-mail-API?
Ich weiß, Sie können dies tun, mit der Java-Mail-API, aber in der Vergangenheit habe ich festgestellt, dass die sehr ausführlichen und unangenehmen, mit zu arbeiten.
BEARBEITEN: ich habe mehrere Antworten darauf in Richtung tutorials, die beschreiben, wie senden von Mails mit Anhängen, aber was ich mich Frage ist, wie Lesen Anlagen aus erhielt mail.
Cheers,
Don
- Apache commons E-Mail-client tun kann, die Anhänge ziemlich einfach -- commons.apache.org/email/userguide.html
- Frühling kann so gut tun -- static.springframework.org/spring/docs/2.0.x/reference/...> Siehe Abschnitt 22.3.1. Senden von Anhängen und inline-Ressourcen
- Danke, aber meine Frage war, über das Lesen von Anlagen, nicht senden von Anlagen.
- Gibt es irgendwelche Beispiele, die zeigen, wie zu Lesen, die Anlage einer eingehenden E-mail?
InformationsquelleAutor Dónal | 2008-09-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist die Klasse, die ich benutze für das herunterladen von e-mails (mit Anhang Handhabung). Sie haben einen Blick von einigen der Dinge, die es tut (wie ignorieren die logging-Klassen und Datenbank schreibt). Ich habe auch neu benannt, einige Pakete für eine einfache Lesung.
Die Allgemeine Idee ist, dass alle Anhänge gespeichert werden als einzelne Dateien im Dateisystem, und jede e-mail wird gespeichert, wie ein Datensatz in der Datenbank mit einer Reihe von untergeordneten Datensätze, zeigen Sie auf der angehängten Datei Pfade.
Fokus auf die doEMailDownload Methode.
Ich arbeitete Steven Beispiel ein wenig und entfernt die code-Teile spezifisch für Steven. Mein code nicht, Lesen Sie den Text einer E-Mail, wenn Sie Anlagen hat. Das ist gut für meinen Fall aber möchten Sie vielleicht, es zu verfeinern, weiter für Ihre.
Müssen Sie auch diese zwei Hilfsklassen
und
Habe ich diese zum testen der oben genannten Klassen
Weitere Infos finden Sie unter http://java.sun.com/developer/onlineTraining/JavaMail/contents.html
Hier ist ein Fehler:
sollte es sein:
Dank @Stevenmcherry für deine Antwort
Ich verwendet Apache Commons E-Mail für diese Aufgabe:
Vom
DataSource
Objekt, das Sie abrufen können, einInputStream
(neben name und Typ) der Anlage (siehe API: http://docs.oracle.com/javase/6/docs/api/javax/activation/DataSource.html?is-external=true).So weit, ich habe nur die JavaMail-APIs (und ich bin schon einigermaßen zufrieden für meine Zwecke). Wenn die volle JavaMail-Paket ist zu schwer für Sie, den zugrunde liegenden transport-engine verwendet werden kann, ohne die oberen Schichten des Pakets. Die unteren gehen Sie in den SMTP -, POP3-und IMAP-stacks, desto mehr müssen Sie bereit sein, für sich selbst zu tun.
Auf der hellen Seite, Sie werden auch in der Lage, ignorieren die Teile, die nicht für Ihre Anwendung erforderlich.