Mail Anhang mit Java herunterladen

8

Ich habe im Referenzdokument nachgesehen, und Spring scheint ziemlich gute Unterstützung beim Senden von E-Mails zu haben. Ich muss mich jedoch bei einem E-Mail-Konto anmelden, die Nachrichten lesen und Anhänge herunterladen. Werden E-Mail-Anhänge von der Spring-Mail-API heruntergeladen?

Ich weiß, dass Sie dies mit der Java Mail-API tun können, aber in der Vergangenheit habe ich festgestellt, dass dies sehr ausführlich und unangenehm ist.

BEARBEITEN : Ich habe mehrere Antworten erhalten, die auf Tutorials verweisen, in denen beschrieben wird, wie E-Mails mit Anhängen gesendet werden. Ich frage jedoch, wie man Anhänge liest empfangen Mail.

Prost, Don

    
Dónal 30.09.2008, 23:02
quelle

6 Antworten

19

Hier ist die Klasse, die ich zum Herunterladen von E-Mails verwende (mit Anhangshandhabung). Sie müssen einen Blick auf einige Dinge werfen, die es gerade macht (wie zum Beispiel die Logging-Klassen und Datenbank-Schreibvorgänge ignorieren). Ich habe auch einige der Pakete umbenannt, um das Lesen zu erleichtern.

Die allgemeine Idee ist, dass alle Anhänge als einzelne Dateien im Dateisystem gespeichert werden und jede E-Mail als Datensatz in der Datenbank mit einer Reihe von untergeordneten Datensätzen gespeichert wird, die auf alle Dateipfade der Anlage verweisen.

Konzentrieren Sie sich auf die doEMailDownload-Methode.

%Vor%     
Steven M. Cherry 01.10.2008, 16:30
quelle
11

Ich habe Steven's Beispiel ein wenig bearbeitet und die für Steven spezifischen Teile des Codes entfernt. Mein Code liest den Text einer E-Mail nicht, wenn er Anhänge enthält. Das ist gut für meinen Fall, aber Sie können es für Ihre weiter verfeinern.

%Vor%

Sie benötigen auch diese zwei Hilfsklassen

%Vor%

und

%Vor%

Ich habe das verwendet, um die obigen Klassen zu testen

%Vor%

Weitere Informationen finden Sie unter Ссылка

    
chad 24.12.2010 19:33
quelle
3

Hier ist ein Fehler:

%Vor%

sollte es sein:

%Vor%

Danke @Stevenmcherry für Ihre Antwort

    
Maciej Kreft 29.09.2009 01:05
quelle
0

Bisher habe ich nur die JavaMail-APIs verwendet (und ich war mit ihnen für meine Zwecke ziemlich zufrieden). Wenn das vollständige JavaMail-Paket zu schwer für Sie ist, kann die zugrunde liegende Transport-Engine ohne die obersten Ebenen des Pakets verwendet werden. Je tiefer Sie in den Stacks von SMTP, POP3 und IMAP gehen, desto mehr müssen Sie bereit sein, dies selbst zu tun.

Auf der positiven Seite können Sie auch die Teile ignorieren, die für Ihre Anwendung nicht benötigt werden.

    
Steve Moyer 30.09.2008 23:07
quelle
0
%Vor%     
Karthik Reddy 11.10.2013 12:00
quelle
0

Ich habe Apache Commons Mail für diese Aufgabe verwendet:

%Vor%

Von einem DataSource -Objekt können Sie einen InputStream (neben Name und Typ) des Anhangs abrufen (siehe API: Ссылка ).

    
Faber 09.12.2013 09:53
quelle

Tags und Links

Django: Verwenden von Annotate, Count und Distinct in einem Queryset ___ answer8065045 ___

Es gibt jetzt git-Spiegel der CVS-Repositories:

  1. org.eclipse.jdt.junit: git: //dev.eclipse.org/org.eclipse.jdt/org.eclipse.jdt.junit.git
  2. org.eclipse.jdt.junit.core: git: //dev.eclipse.org/org.eclipse.jdt/org.eclipse.jdt.junit.core.git
  3. org.eclipse.jdt.junit.runtime: git: //dev.eclipse.org/org.eclipse.jdt/org.eclipse.jdt.junit.runtime.git
  4. org.eclipse.jdt.junit4.runtime: git: //dev.eclipse.org/org.eclipse.jdt/org.eclipse.jdt.junit4.runtime.git
___ tag123eclipse ___ Eclipse ist eine Open-Source-IDE und Plattform zum Erstellen von Anwendungen. Es gibt eine Vielzahl von Plugins für verschiedene Programmiersprachen und andere entwicklungsorientierte Werkzeuge (wie Modellierung, Datenbanksuche usw.). Dieses Tag sollte nur für Fragen verwendet werden, die sich speziell mit der Eclipse-IDE oder der Eclipse-Plattform befassen, nicht jedoch für generalisierte (Java, Android usw.) Programmierthemen. ___ tag123opensource ___ Open-Source-Software ist Software, die unter einer Open-Source-Lizenz vertrieben wird. Eine solche Lizenz erlaubt es jedem, den Quellcode zu kopieren, zu modifizieren, zu erweitern und weiterzugeben, ohne Lizenzgebühren oder Gebühren an die ursprünglichen Autoren zu zahlen. Open Source Stack Exchange ist auch ein Ort für diese Fragen. ___ tag123junit ___ Beliebtes Unit-Testing-Framework für Java und Scala. Die neueste Version, JUnit 4, unterstützt Rich-Annotation-basierte und parametrisierte Tests. Erwägen Sie die Verwendung in Verbindung mit dem Java- oder Scala-Tag, um Ihren Anwendungsfall anzugeben. ___ qstntxt ___

Ich schreibe gerade ein Eclipse-Plugin für FlexUnit und frage mich, wo ich die Quellen für das JUnit Eclipse-Plugin finden könnte. Ich habe die Quellen von JUnit auf SourceForge überprüft, konnte aber keinen Code erkennen, der wie der Plugin-Code aussah.

Irgendeine Idee, wo dieser Code verfügbar ist?

    
___ tag123eclipseplugin ___ Eclipse ist eine erweiterbare OSGi-Plattform für die Werkzeugintegration. Die Erweiterungen von Eclipse sind Java-Plugins. Verwenden Sie dieses Tag, um nach der Entwicklung von Eclipse-Plug-Ins zu fragen. Beachten Sie, dass die Abfrage von Plug-in-Empfehlungen nicht möglich ist. ___ tag123flexunit ___ FlexUnit ist ein Unit-Testing-Framework für Flex- und ActionScript-Anwendungen und -Bibliotheken ___ answer3690378 ___

Da Sie wahrscheinlich Eclipse verwenden, gibt es eine viel einfachere Möglichkeit, es direkt in Ihren Arbeitsbereich zu importieren. Die Quelle ist mit Ihrer Eclipse-Distribution gebündelt.

Mach einfach Datei - & gt; Importieren - & gt; Plug-Ins und Fragmente

Behalten Sie die Standardwerte ("Aktive Zielplattform", "Aus allen Plug-Ins auswählen" und "Projekte mit Quellordnern"

)

Tippe als nächstes und wähle die JUnit plugin-Pakete aus und klicke auf Fertig stellen. Sie werden dann als Eclipse-Projekte in deinen Arbeitsbereich importiert.

    
___ answer169937 ___

Sie finden es im Eclipse-Repository:

Ссылка

    
___