Her mit den E-Mails: Mailempfang in Javamail

An dieser Stelle sei noch eine Warnung ausgesprochen: Die Kommunikation mit Mail-Servern hat selbst mit Javamail ihre Tücken, auch wenn man streng nach den FAQs vorgeht. So sollte für diesen Artikel ursprünglich Gmail, der Maildienst von Google mit seiner POP3-Unterstützung verwendet werden. Seltsamerweise ist der POP3-Dienst von Google aber nicht RFC-kompatibel, sodass gelesene Nachrichten sofort aus der Nachrichtenschlange gelöscht werden, egal was man unternimmt. Bei einem anderen Mail-Server interpretierte die Server-Version den RFC-Standard zur Authentifizierung ein wenig anders, wodurch es zu einem Anmeldefehler kam. Wie kann man solche Probleme umgehen? Äußerst hilfreich ist die Aktivierung des Javamail-Debugging. Wenn man die Session beginnt, kann man die setDebug-Methode aufrufen und so das Debugging aktivieren, welches dann den gesamten Verkehr zu und von der Konsole auflistet. Doch Vorsicht: Wenn man Anhänge empfängt, können recht große Abschnitte mit Base-64-kodiertem Text auftreten. Eine weitere Möglichkeit zum Starten des Debugging besteht darin, die Systemeigenschaft „mail.debug“ auf „true“ zu setzen.

Javamail besitzt eine ganze Reihe von Eigenschaften, die das Verhalten der Provider beeinflussen können. So umfasst beispielsweise mit POP3 der Standard-Provider Eigenschaften zur Steuerung von Zeitüberschreitungen, Authentifizierung und der Interaktion des Providers mit dem Mail-Server. Damit lassen sich viele der oben genannten Kompatibilitätsprobleme lösen. Diese Eigenschaften variieren je nach Provider-Implementierung. So zum Beispiel beim Standard-POP3-Provider: Manche POP3-Provider löschen automatisch gelesene Nachrichten beim Abmelden, wobei man den Maileingang jedoch mit dem Befehl POP3 RSET wieder in seinen Originalzustand zurücksetzen kann. Ist die Eigenschaft mail.pop3.rsetbeforequit auf „true“ gesetzt, kann dieses Verhalten im POP3-Provider aktiviert werden, wobei der Teil „pop3“ im Eigenschaftennamen den Namen des Providers angibt. Man sollte diesen also auf „pop3s“ setzen, wenn man sicheres POP3 nutzt. Hier der Code aus dem Beispiel, der diese Funktion für beide Fälle aktiviert und das Debugging einschaltet:

Nur um Zweifel auszuräumen: Dies hat keinerlei Auswirkung auf die POP3-Implementierung von Google Mail – nach dem Lesen ist die Nachricht verschwunden.

Der Sourcecode zu diesem Artikel kann mit der Datei mailretriever.zip heruntergelden werden.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

2 Wochen ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

2 Wochen ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

2 Wochen ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

2 Wochen ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

2 Wochen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

2 Wochen ago