E-Mail-Adressen Spam-geschützt verlinken

Kein Beitragsbild

von Adrian Nussbaum

Zum Schutz vor Spam-Robots wird heute vermehrt darauf verzichtet, E-Mail-Adressen im Klartext zu publizieren. Was rein visuell brauchbar zu lösen ist, stellt spätestens dann ein Problem dar, wenn E-Mail-Adressen sinnvoll verlinkt werden sollten.

Werden Adressen im Stil von «name(at)domain.com» angegeben und auch so verlinkt, muss der Benutzer unweigerlich dazu aufgefordert werden, die Kombination «(at)» durch ein @ zu ersetzen. Dieser Umstand ist einerseits mühsam und kann andererseits zu Problemen oder Unverständnis – vor allem bei eher unerfahrenen Benutzern – führen.

Die Lösung dieses Problems liegt einmal mehr im Einsatz einer serverseitigen Programmier-Sprache. Zum Beispiel dem populären und und freien PHP.

Und so geht’s
Als Text, der dem Besucher angezeigt wird, wird das @ weiterhin durch z.B. «(at)» (oder auch durch ein Bild) ersetzt, im Link wird es aber durch eine andere, möglichst sinnlos erscheinende Zeichenfolge ersetzt. Und dieser Link verweist schließlich zu unserem PHP-Script.

Beispiel:

 <a href="mailit.php?mail=
name//bei//domain.com">
name(at)domain.com</a>

Die Datei «mailit.php», die nun aufgerufen wird, gibt dann erst einmal ein Formular ähnlich einem E-Mail-Fenster aus. Dort sollen wie üblich vom Benutzer die Felder für die Absender-Adresse, den Betreff und natürlich die Nachricht ausgefüllt werden Nach dem Klick auf «Senden»  werden die Daten an die selbe Datei verschickt (allenfalls kann auch eine zweite dafür verwendet werden), damit diese die Nachricht als E-Mail versenden kann.

Erst jetzt, kurz vor dem Versenden, wird die aus dem Link übermittelte und zwischenzeitlich in einem Hidden-Field zwischengespeicherte E-Mail-Adresse quasi decodiert: Die im Beispiel verwendete Kombination «//bei//» wird durch ein @ ersetzt.

E-Book Effektives Online Marketing von Andreas Hecht

E-Book: Effektives Online Marketing

Entdecke die Power des perfekten Online-Marketings für deine Website. Du erfährst neue Techniken, die deine Website automatisch besser ranken lassen und die dir nach und nach einen Expertenstatus verleihen werden. [...]

      $mail 
= str_replace('//bei//','@',$mail);
    

So steht dem Versand mit korrekter E-Mail Adresse nichts mehr im Wege. Und diese kann von Spam-Robots nicht mehr erschnüffelt werden können. Sofern die Adresse, wie sie dem Benutzer angezeigt wird, gut genug verschlüsselt wurde, dürfte es sich hier um eine brauchbare Lösung handeln.

Abwandlungs-Möglichkeiten:

Kommt nur eine kleinere Anzahl Empfänger in Frage, können deren
E-Mail-Adressen auch durch Code-Namen «chiffriert» werden.
Link-Beispiel:

      <a 
href="mailit.php?hans">
name(at)domain.com</a>

Script-Beispiel:

      if(isset($hans)){$email="name@domain.com";} 

Die Teile vor und nach dem @ könnten auch als zwei einzelne Variablen
übermittelt und gleich vor dem Versand mit PHP wieder zu einer E-Mail Adresse zusammengesetzt werden. Im E-Mail-Fenster des Formulars schließlich könnte man zusätzlich ein DropDown-Menü mit weiteren oder allen möglichen Empfänger-Adressen einbauen.