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

Brand-Phishing: Microsoft und Google im ersten Quartal weiter führend

Cyberkriminelle haben auf Zahlungs- und Zugangsdaten abgesehen. LinkedIn landet auf dem ersten Platz. Zudem verhelfen…

2 Wochen ago

Das macht die Paysafecard zu einer sicheren Zahlungsmethode

Die Paysafecard hat sich in den letzten Jahren als eine der beliebtesten und sichersten Zahlungsmethoden…

2 Wochen ago

Firefox 125 verbessert PDF Viewer und Sicherheit

Texte können nun im PDF Viewer farblich markiert werden. Firefox blockiert zudem mehr verdächtige Downloads…

2 Wochen ago

KI-Gesetz: EU macht ernst mit Risikomanagement und Compliance

Unternehmen haben nicht mehr viel Zeit, ihre KI-fähigen Systeme zu katalogisieren und zu kategorisieren, sagt…

2 Wochen ago

Generative KI-Assistenten für HR

Vee ermöglicht HR-Verantwortlichen transparente Übersicht über ihre Belegschaft.

2 Wochen ago

Datenmanagementspezialist Solita gründet Einzelhandelssparte

Investitionen in neue Digitalisierungslösungen und datengesteuerte Abläufe für den Einzelhandel

2 Wochen ago