Her mit den E-Mails: Mailempfang in Javamail

Dazu nun ein praktisches Beispiel: Mailpage. Es soll ein Servlet erstellt werden, das ausgehend von den zuletzt an einen Mail-Account versandten E-Mails eine Webseite anzeigt. Damit können entfernte Benutzer eine Statusseite aktualisieren, ohne dafür direkten Zugang zu dem Web-Server zu benötigen. Sie müssen lediglich eine Mail an einen bestimmten E-Mail-Account senden.

Den Kern der Lösung bildet Mailretriever. Dieser benötigt vier verschiedene Angaben: den Namen des E-Mail-Benutzeraccounts, das Passwort für den Account, den Hostnamen des Servers und den Namen des zu verwendenden Providers – wobei üblicherweise „pop3“, „pop3s“, „imap“ oder „imaps“ benutzt werden. Nun kann man die Mail zur getMail-Methode hinzufügen. Als Erstes ist dazu genau wie beim Versenden von Mail eine Session erforderlich. In diesem Fall erhält man eine ganz bestimmte Session:

Von dieser Session aus kann man einen für den Provider geeigneten Store festlegen:

Nun stellt man eine Verbindung zu diesem her, indem man die Connect-Methode des Stores aufruft, mit dem Servernamen, Benutzernamen und Passwort:

Danach kann man in der Ordner-Hierarchie navigieren. Um zur Wurzel der Baumstruktur zu gelangen, fragt man den Store nach dem Standard-Ordner.

Jeder Ordner kann eine Liste mit weiteren in ihm enthaltenen Ordnern umfassen. In diesem Beispiel soll zum Maileingang navigiert werden, was mit der getFolder-Methode geschieht:

Bei IMAP wird so zu dem Ordner im IMAP-Baum navigiert. Bei POP3 verbirgt sich dahinter nur ein einziger Maileingang, allerdings sind diese Unterschiede für den Benutzer nicht sichtbar.

Um nun auf die Nachrichten in einem Ordner zugreifen zu können, muss man den Ordner öffnen:

Der Ordner wird im Modus READ_ONLY geöffnet, da keine Änderungen am Status oder Inhalt des Ordners vorgenommen werden sollen. Beim Öffnen mit READ_WRITE könnten auch Änderungen vorgenommen werden, sofern der jeweilige Provider dies zulässt. Nun kann man alle im Ordner enthaltenen Nachrichten anzeigen:

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

3 Tagen ago

MadMxShell: Hacker verbreiten neue Backdoor per Malvertising

Die Anzeigen richten sich an IT-Teams und Administratoren. Ziel ist der Zugriff auf IT-Systeme.

3 Tagen ago

April-Patches für Windows legen VPN-Verbindungen lahm

Betroffen sind Windows 10 und Windows 11. Laut Microsoft treten unter Umständen VPN-Verbindungsfehler auf. Eine…

3 Tagen ago

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

4 Tagen ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

5 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

5 Tagen ago