techtips
mailto-Link ausreizen
Die eMail-Adresse auf der eigenen Webseite vor SPAM-Bots zu verbergen und dabei die Link-Funktion aufrecht zu erhalten, ist eine Sache. Doch der Verweis auf eine eMail-Adresse kann mehr, als ein eMail-Fenster öffnen und mit der Empfängeradresse vorbelegen.
Zuerst sei hier noch einmal erwähnt, dass es keine Garantie für die Funktion des Verweises auf eine eMail-Adresse gibt. Der eMail-Link funktioniert nur, wenn das Programm, mit dem der Verweis dargestellt wird, die richtige Anwendung zum Schreiben und Verschicken von eMails kennt und öffnet. Als nächstes muss der Browser noch in der Lage sein, das Fenster zum Schreiben der Mail in der entsprechenden Anwendung zu öffnen und die Empfänger-Adresse richtig zu übergeben.
Auf Barrierefreiheit achten
Aber es gibt nicht nur technische Barrieren, sondern auch unserer Leser. Die möchten, vielleicht aus Misstrauen, lieber die eMail-Adresse von Hand in ihrem eMail-Klient eintragen oder per „Kopieren und Einsetzen“ übergeben. Im Sinne von barrierefreiem Web sollten wir also immer, trotz der sich bietenden technischen Möglichkeiten für die Einbindung unserer eMail-Adresse, auch eine nutzbare Alternative mit anbieten.
In der überwiegenden Anzahl der Fälle können wir aber davon ausgehen, dass unser eMail-Verweis in gewünschtem Sinne funktioniert. Und da stellt sich die Frage: Kann ich eigentlich mehr als die Empfänger-Adresse an den eMail-Klient übergeben?
Folgende Felder können vorbelegt und mit dem Verweis übergeben werden:
- sichtbarer Empfänger einer Kopie (cc = carbon copy)
- unsichtbarer Empfänger einer Kopie (bcc = blind carbon copy)
- Betreff (subject)
- eigentlicher eMail-Inhalt (body)
Natürlich hat die letzendliche Kontrolle der Ersteller der eMail, und er kann die vorbelegten Felder wieder ändern. Auch „bcc“ bleibt nur dem Empfänger verborgen.
Im Rahmen dessen, was bei Verweisen erlaubt ist, hat sich eine Syntax etabliert, welche von den meisten modernen Browsern interpretiert wird.
Die technische Umsetzung
Die zusätzlichen Feldinhalte werden im Verweis, wie ein GET-String mit einem Fragezeichen abgetrennt, hinter die eMail-Adresse geschrieben. Dabei folgt dem Fragezeichen zuerst der Name des Feldes, dann ein Gleichheitszeichen und anschließend der Feldinhalt.
Ein Beispiel:
<a href="mailto:name@domain.de?
Feldname=Feldinhalt">
name@domain.de</a>
Mehrere Feldangaben werden durch ein kaufmännisches „&“ verbunden. Im einzelnen sieht das dann so aus (Leerzeichen und Zeilenwechsel sind hier nur für eine bessere Lesbarkeit eingefügt):
<a href="mailto:IchSelbst@MeineDomain.de?
cc=EinFreund@MeineDomain.de&
bcc=DerAdmininistrator@MeineDomain.de&
subject=EineMailVonEinemBesucherDeinerWebseite&
body=Hallo,IchHabeMichAufDeineWebseiteVerirrt...">
eMail an name@domain.de</a>
Im Browser wird dies als „ eMail an name@domain.de“ angezeigt. Und angeklickt sollte dann folgendes Fenster erscheinen:
Jetzt gibt es noch zwei Schönheitsfehler: Leerzeichen und Zeilenumbrüche fehlen. Die können wir nicht direkt eingeben. Damit diese beiden Sonderzeichen richtig interpretiert werden, müssen sie maskiert werden.
Dazu benutzen wir folgende Sonderzeichen-Kodierung:
- für das Leerzeichen:
%20
- für den Zeilenumbruch:
%0A
Der so korrigierte Quellcode sieht jetzt so aus (unmaskierte Leerzeichen und Zeilenwechsel sind hier nur für eine bessere Lesbarkeit eingefügt):
<a href="mailto:IchSelbst@MeineDomain.de?
cc=EinFreund@MeineDomain.de&
bcc=DerAdmininistrator@MeineDomain.de&
subject=Eine%20 Mail%20 von%20 einem%20 Besucher%20 Deiner%20 Webseite&
body=Hallo,%0A %0A ich%20 habe%20 mich%20 auf%20 Deine%20 Webseite%20 verirrt%20 ...">
eMail an name@domain.de</a>
Im Browser wird dies wieder als „ eMail an name@domain.de“ angezeigt. Aber angeklickt sollte dann folgendes Fenster erscheinen:
Wer mehr wissen will, zum Beispiel wie man sich vor SPAM-Bots schützt, der liest HIER und HIER weiter.
Buchempfehlungen zum Thema Webseitenerstellung:
?? ??