Discussion:
Mail Header
(zu alt für eine Antwort)
Walter Sparding
2003-12-05 14:19:34 UTC
Permalink
Hallo allerseits,

mit javax.mail kann man ja EMails auslesen. Ich möchte jetzt aber nur
die Header auslesen, wie es ja mit den POP3 - Befehlen möglich ist. Eine
solche Funktion finde ich aber in den javax.mail nicht, oder übersehe
ich da was ?
Für Hilfe dankbar

Waldo
Werner Knoblich
2003-12-05 14:55:38 UTC
Permalink
Post by Walter Sparding
mit javax.mail kann man ja EMails auslesen. Ich möchte jetzt aber nur
die Header auslesen, wie es ja mit den POP3 - Befehlen möglich ist. Eine
solche Funktion finde ich aber in den javax.mail nicht, oder übersehe
ich da was ?
Für Hilfe dankbar
Mir ist so, als hätte ich da unter
http://www.joller-voss.ch/ndkjava/notes/index.html
unter Punkt 23 vor langer Zeit was dazu gelesen.
Walter Sparding
2003-12-05 15:22:58 UTC
Permalink
Post by Werner Knoblich
Mir ist so, als hätte ich da unter
http://www.joller-voss.ch/ndkjava/notes/index.html
unter Punkt 23 vor langer Zeit was dazu gelesen.
Solche Beispiele habe ich auch schon gefunden.
Überall wird die Funktion folder.getMessages() verwendet, die, so wie
ich es verstehe, alle Mails liest. Das kann aber dauern, und ich will

zunächst nur die Header auslesen analog zur POP3-Funktion

TOP 1,1

Oder sehe ich da was falsch ??
Aljoscha Rittner
2003-12-07 11:23:32 UTC
Permalink
Post by Walter Sparding
Post by Werner Knoblich
Mir ist so, als hätte ich da unter
http://www.joller-voss.ch/ndkjava/notes/index.html
unter Punkt 23 vor langer Zeit was dazu gelesen.
Solche Beispiele habe ich auch schon gefunden.
Überall wird die Funktion folder.getMessages() verwendet, die, so wie
ich es verstehe, alle Mails liest. Das kann aber dauern, und ich will
zunächst nur die Header auslesen
[...]

Ich habe für kleinere Sachen folgendes programmiert:

public static Message[] receiveEnvelopes (
String hostName, String userName, String password)
{
try {
Store store = openStore (hostName, userName, password);

Folder folder = store.getDefaultFolder ();
if (folder == null) {
//@todo exception handling
return null;
}

folder = folder.getFolder ("INBOX"); //NOI18N
if (folder == null) {
//@todo exception handling
return null;
}

folder.open (Folder.READ_ONLY);

Message[] messages = folder.getMessages ();
FetchProfile fetcher = new FetchProfile ();
fetcher.add (FetchProfile.Item.ENVELOPE);
folder.fetch (messages, fetcher);

folder.close (false);
store.close ();
return messages;

} catch (NoSuchProviderException nspe) {
//@todo exception handling
} catch (MessagingException me) {
//@todo exception handling
}
return null;
}

Das Wichtige an der Funktionsweise ist das Setzen des FetchProfile.

Gruß,
Josch.
--
Kennen Sie das auch: Piekende, juckende Kekskrümel im Bett? Abhilfe
schafft Bettnässen!
Die Krümel quellen und die Schärfe wird genommen.
[Haushaltstips - für den nächsten Tip eine Antwort provozieren...]
Loading...