JavaMail - Parsen von E-Mail-Inhalt, scheint es nicht zu funktionieren! (Nachricht.getContent ())

8

Seit ein paar Wochen habe ich einen E-Mail-Client für Android entwickelt, ich habe die Analyse von E-Mail-Inhalten für eine Weile ignoriert, da ich nie in der Lage war, es zum Laufen zu bringen. Daher ist es an der Zeit, um Hilfe zu bitten!

Ich habe mich umgesehen und bin auf ein paar Methoden gestoßen, die ich ausprobiert habe, aber nie viel Erfolg hatte! Momentan wäre mein nächster Versuch:

%Vor%

Aber es funktioniert nicht und ich bekomme Kauderwelsch wie "javax.mail.internet.MimeMultipart@44f12450".

Kann jemand sehen, wo ich falsch liege?

Danke, Rhys

    
Rhys12341111 11.04.2011, 22:41
quelle

5 Antworten

9

Keiner der obigen Vorschläge ist gültig. Sie müssen hier nichts Komplexes tun. Mimemessage hat message.writeTo(outputStream);

Alles, was Sie zum Drucken der Nachricht benötigen, ist:

%Vor%

Der obige Code wird die tatsächliche Mime-Nachricht auf der Konsole ausgeben (oder Sie können einen beliebigen Logger verwenden).

Speichern Sie den Inhalt in .eml und Sie können ihn in Outlook öffnen. Einfach so!

    
avijendr 21.01.2013 11:38
quelle
4
%Vor%

Wenn Sie einen BodyPart-Teil haben, sollten Sie den Test fortsetzen

if (part.getContent () instanceof String) { ... }

    
DiTime4Tea 13.12.2011 04:18
quelle
1

Ich habe auch den gleichen Fehler, der fast alles versucht, aber die Lösung funktionierte für mich ist

%Vor%

Ich hoffe, das wird jemandem helfen.

    
NoNaMe 01.10.2014 13:29
quelle
1

Ich hatte die gleichen Probleme beim Parsen von Message of javax mail. In meiner Workaround fand ich eine komische Sache. Das Auflisten von E-Mails von POP3 gab mir keinen Mail-Body-Inhalt. Also IMAP, was für mich funktioniert hat. Jetzt kann ich Text / plain sowie Text / Html analysieren und den Text lesen. Um dasselbe zu analysieren, habe ich die folgende Methode verwendet.

%Vor%

Ich hoffe, es hilft jemandem.

    
Shahbaz sultan 04.05.2016 04:24
quelle
0

Nicht ganz sicher, aber wie es klingt ist, dass Sie eine MimeMessage in einen String konvertieren wollen. Streng genommen gibt es keine "Standard" -Übersetzung für MimeMessage zu String, aber hier ist ein Stück Code, das ich vor ein paar Jahren geschrieben habe und versucht, eine solche Übersetzung zu generieren. Nur auf Englisch Nachrichten getestet, so muss i18n etwas sein, was Sie über sich selbst denken.

Leider scheint der blöde Filter von SO so zu denken, dass mein Code-Beispiel ein Bild ist, und ich werde es nicht veröffentlichen lassen: schaut euch die Klasse in Ссылка an : Der Code macht eine Reihe von ansonsten unnötigen Dingen (er spuckte es in HTML aus, das mit fliegenden Untertassen gerendert wurde), und benötigt auch Jakarta Commons Lang, Javamail und Aktivierungsbibliotheken, aber es funktioniert für mich. Du würdest es so aufrufen:

%Vor%

Um eine Textzeichenfolge zu erhalten. Probieren Sie das aus für die Größe.

    
Femi 11.04.2011 23:07
quelle

Tags und Links