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 <' and '> verpackt hat, da dies uneinheitlich gehandhabt wird. Startet man dann den Server erneut, sollten Inline-Bilder, wie hier dargestellt, angezeigt werden:

Screenshot

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.

Themenseiten: Anwendungsentwicklung, Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Mailpage: Einrichtung eines Webmailsystems mit Java

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *