Mailpage: Einrichtung eines Webmailsystems mit Java

Zwar werden die eingebetteten Bilder angehängt und erscheinen beim Anklicken der Links, sie sind jedoch nicht auf der Seite zu finden. Das liegt an dem Verfahren zum Verweis auf Bilder unter HTML-E-Mail, wo die Bilder als Anhänge gelten. Neben einem Dateinamen wird für jeden Anhang eine Content-ID erzeugt, auf die dann im HTML der Seite verwiesen wird. Mail-Clients verwenden diese Content-ID, um festzustellen, auf welchen Anhang verwiesen wurde. Da diese E-Mail jedoch nach Dateinamen in verschiedene Webseiten aufgegliedert wurde, muss man erst die Content-ID aus den Anhängen ermitteln und dann zur Änderung des HTML-Texts der Nachricht verwenden. Sobald in RenderableMessage.java ein Anhang gefunden wird, den man zum Lesen der Content-ID benötigt, muss man, sofern diese überhaupt existiert, einen entsprechenden Hinweis im Anhang hinterlegen. Content-ID zählt zu den gemischten Headern, sie wird also mit getHeader() abgefragt:

Mit der Content-ID, die als „cid:…“ URI im Attribut IMG src erscheint, kann nun der Haupttext im Mailservlet bearbeitet werden, um die Verweise auf Content-IDs in Verweise auf Dateinamen abzuändern. Dieser Code wurde nach „bodytext=msg.getBodyText()“ eingegeben.

Beim Erstellen des Cid-Strings sollte man prüfen, ob der E-Mail-Versender die Content-ID mit verpackt hat, da dies uneinheitlich gehandhabt wird. Startet man dann den Server erneut, sollten Inline-Bilder, wie hier dargestellt, angezeigt werden:


Dies ist natürlich ein stark vereinfachtes Beispiel, das mit zahlreichen Problemen behaftet ist, wie die meisten stark vereinfachten Beispiele. Das erste Problem liegt darin, dass bei jedem Zugriff auf die Seite die E-Mail erneut gesucht wird. Diese Lösung ist nicht sehr effizient und eine Option wäre, zu prüfen, wie oft die Methode getMail() aufgerufen wird. Ein weiteres Problem ist die fehlende Nachbearbeitung des Haupttexts der Mail, so dass sich fehlerhafte HTML-Bits einschleichen und die Seite stören können.

Wer mehr Beispiele zu Javamail haben möchte, findet diese im Demo-Verzeichnis des Javamail Package. Hier finden sich zahlreiche Beispiele für die Verwendung der API und ein wesentlich komplexeres allgemeines Servlet zum Lesen von Mails.

Mit der Datei mailpage.zip kann der Quellcode für dieses Tutorial heruntergeladen werden.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Automatic SEO macht SEO günstiger und besser: Was steckt dahinter?

Suchmaschinenoptimierung (SEO) ist ein zentraler Faktor für den nachhaltigen Erfolg im digitalen Wettbewerb. Sie generiert…

2 Wochen ago

Kaspersky-Prognose: Raffiniertere Deepfakes und mehr Abo-Betrug

Die zunehmende KI-Verbreitung erschwere die Erkennung von Fälschungen. Gleichzeitig begünstige der Abo-Trend das Aufkommen neuer…

2 Wochen ago

Infineon und Quantinuum schließen Entwicklungspartnerschaft

Gemeinsam arbeiten die Konzerne an Ionenfallen, die in Hochleistungs-Quantencomputern zum Einsatz kommen sollen.

2 Wochen ago

Forschende beheben SIEM-Defizite mit ML-Lösung

Neu entwickeltes Open-Source-System soll Signatur-Umgehungen durch adaptive Missbrauchserkennung transparent machen.

2 Wochen ago

Google stopft vier Sicherheitslöcher in Chrome 131

Von mindestens einer Schwachstelle geht ein hohes Sicherheitsrisiko aus. Betroffen sind Chrome für Windows, macOS…

2 Wochen ago

Bitcoin-Trading für Einsteiger und Profis mit Kraken

Digitale Währungen haben in nur kurzer Zeit die komplette Finanzlandschaft auf den Kopf gestellt. Mit…

2 Wochen ago