Die ungeliebten Spam Mails – jeder von uns kennt sie. Dank verschiedenster Spam Filter lässt sich inzwischen ein Großteil der Spam Mails ausfiltern, trotzdem sind sie lästig. Am besten wäre es also, Spam Mails ganz zu verhindern, oder sie zumindest zu reduzieren.

Dazu muss man zunächst verstehen, wie die Spammer die verschiedenen Mailadressen der Opfer sammeln. Ich sehe hier drei Kategorien:

  1. Datendiebstal: Die Spammer hacken die Kundendatenbank verschiedener Anbieter und erhalten so auch deine Adresse. Die prominentesten und wohl größten bekannten Fälle der jüngsten Vergangenheit sind der Diebstahl von mehr als einer halben Milliarde Nutzerkonten bei Yahoo oder der Datenschutzskandal von Facebook. Gegen diese Form des Datendiebstahls und den daraus resultierenden Spam kannst du dich selbst nicht wirklich schützen. Du kannst lediglich, wie in meinem Artikel – Erweiterung von Gmail Adressen – beschrieben, herausfinden, über welchen Anbieter deine Mailadresse gestohlen wurde.
  2. Phishing und Co.: Beim Phishing wird versucht, über Fake-Gewinnspiele und sonstige Aktionen an deine Daten zu gelangen. Hier ist jeder selbst verantwortlich. Nicht jeder noch so verlockende Millionengewinn ist wirklich real. Überleg dir, wo du deine Daten angibst und hinterfrage auch mal den Sinn eines solchen Gewinnspiels! Der eigentliche Gewinner ist nur der Betreiber und der Gewinn sind deine Daten.
  3. Website Crawler: Nicht nur Google und andere Suchmaschinen haben Crawler, die deine Website scannen um sie in Ihren Index aufzunehmen, sondern auch die Spammer setzen diese Crawler ein. Ziel ist es dabei allerdings nicht, deine Website in den Index mit aufzunehmen, sondern deine Mailadresse auszulesen. Auf jeder Website wird diese mindestens einmal zu finden sein. Entweder im Kontaktformular oder spätestens im Impressum oder der Datenschutzerklärung. Gesucht wird meistens nach dem „Mailto-Link“ im Code deiner Website. Der kann dann zum Beispiel so aussehen:

<a href=“mailto:yourname@gmail.com“>YourMail</a>

Um den Spammern das Auslesen der Mailadresse zu erschweren, gibt es vier Möglichkeiten, die ich dir gerne vorstellen würde.

1. Ersetze das @ Zeichen durch ein (at).

Dies ist die Wohl gängigste Methode, bringt aber den entscheidenden Nachteil mit sich, dass dein Websitebesucher manuell das (at) wieder ersetzen muss, wenn er auf den „Mailto-Link“ klickt und sein Mailprogramm mit einer neuen Mail öffnet. Außerdem erkennen auch viele Crawler inzwischen dieses Muster. Ein (at) durch einen kleinen RegEx Ausdruck zu ersetzen ist kein Hexenwerk, daher funktioniert diese Methode nur bedingt.

2. Mailadresse durch Bild ersetzen.

Eine recht sichere Möglichkeit zu vermeiden, dass der Crawler deine Mailadresse ausliest, ist, sie durch ein Bild zu ersetzen. Die wenigsten setzen OCR Funktionen ein, die es ihnen ermöglichen, auch das Bild auszulesen. Der Einsatz deiner Mailadresse als Grafik bringt aber folgende Nachteile mit sich:

Usability: Es ist über ein Bild nicht oder nur über Umwege möglich, die „Mailto- Funktionalität“ zu implementieren und der User kann so nicht direkt per Klick auf die Mailadresse Kontakt mit dir aufnehmen.

Responsive Design: Durch den Einsatz einer Grafik innerhalb eines Text kann das Responsive Design deiner Website vor allem bei der Darstellung auf Smartphones leiden. Das Bild kann zu ungewollten Zeilenumbrüchen führen.

3. Fertige WordPress Plug-In Lösungen.

Zumindest wenn du WordPress für deine Website einsetzt, gibt es verschiedene Plug-Ins, die dir dabei helfen können, deine Mailadresse zu schützen:
cryptex
Achtung: Das Plug-In nimmt dir zwar Arbeit ab, setzt aber auf Methode zwei. Daher ist es nur bedingt zu empfehlen.

Pixeline’s Email Protector
Ersetzt den Mailstring per JavaScript und macht ihn so für den Crawler unlesbar. Diese Methode ist zu bevorzugen, allerdings stellt sich die Frage, warum du ein weiteres Plug-In einsetzen solltest, das deine Seite wieder nur unsicherer und langsamer macht, wenn es sich mit ein paar Zeilen Code selbst erledigen lässt.

4. Schutz über JavaScript Funktion.

Der unten stehende Code setzt genau das um, was das Plug-In Pixeline’s Email Protector auch macht. Der „Mailto-String“ wird durch einen Funktionsaufruf ersetzt und der Crawler hat so nicht mehr die Möglichkeit, die Mailadresse auszulösen. Die tatsächliche Ausgabe der Adresse wird durch die JavaScript Funktion erledigt. In meinem Fall habe ich die Funktion generateMail getauft und folgende Parameter erstellt:

name: Der Teil deiner Mailadresse vor dem @
domain: Der Teil hinter dem @ ohne die Top Level Domain, also zum Beispilel „gmail“
tld: Die Top Level Domain. Diese wird allerdings nicht als String übergeben, sondern als Zahl. Die Werte sind in einem Array der JavaScript Funktion vordefiniert und lassen sich beliebig erweitern. Dies erschwert dem Crawler zusätzlich das Leben und verhindert, dass auch aus dem Skriptaufruf die Mail „zusammengebastelt“ werden könnte.

Die Funktion lässt sich wie folgt aufrufen und kann an beliebiger Stelle in deiner Website eingefügt werden:

<script> generateMail(‚info‘,’b-scheidt‘, 0); </script>

Folgenden Code must du entweder im Header deiner Page einbinden, oder als eigene kleine JavaScript Datei abspeichern und im Header verlinken, damit auf die Funktion zugegriffen werden kann.

<script>

var mail_ = „mailto:“;
var at_ = „@“;
// Array für die top level domain Endungen, beliebig erweiterbar
var tld_ = new Array()
tld_[0] = „.de“;
tld_[1] = „.com“;
tld_[2] = „.net“;
tld_[3] = „.info“;

function generateMail(name, domain, tld){

var myMail ;
// Prüft ob der Wert im Aray existiert
if (typeof tld_[tld] != ‚undefined‘){
myMail = ‚<a href=“‚+mail_+name+at_+domain+tld_[tld]+'“>’+name+at_+domain+tld_[tld]+'</a>‘;
}else{
// Setzt die TLD als default auf .de, falls der angegebene Wert nicht existiert
tld_[tld] = „.de“;
myMail = ‚<a href=“‚+mail_+name+at_+domain+tld_[tld]+'“>’+name+at_+domain+tld_[tld]+'</a>‘;
}
document.write(myMail);
}

Ich hoffe, ich konnte dir mit dem Artikel einen kleinen Einblick in das Thema Spam Mails geben. Falls du der Meinung bist, dass ich einen wichtigen Aspekt vergessen habe oder du sogar Optimimerungspotential für die kleine JavaScript Funktion siehst, lass es mich bitte wissen, damit ich es ergänzen kann und auch andere von dem Wissen profitieren!

Effektiver Spamschutz für Mailadressen auf deiner Website

von Benjamin Scheidt benötigte Zeit: 5 min
0