Bengine > E-Mails unter Windows (PHP)

Häufiger kommt es vor, dass ich eine aktuelle Bengine-Version unter Windows testen möchte, aber auf einem normalen Windows-PC mit PHP E-Mails zu verschicken ist eine echte Qual. Ein erster Lösungsansatz wäre die E-Mail-Aktivierung abzuschalten (was auch problemlos möglich ist), aber es geht natürlich auch anders und besser. Alles was man dazu braucht ist ein Googlemail-Konto und ein paar Minuten zur Einrichtung.

Schritt 1 – OpenSSL aktivieren

Bei wem in PHP die OpenSSL-Extension bereits aktiviert ist, kann diesen Schritt überspringen. Für alle anderen: Öffnet die php.ini und fügt folgende Zeile hinzu:

extension=ext_openssl.dll

Falls die Zeile bereits vorhanden ist, kann das Kommentarzeichen „;“ auch einfach entfernt.
Anschließend muss der Apache neugestartet werden. Prüft danach mit der phpinfo()-Funktion ob OpenSSL nun zur Verfügung steht.

Schritt 2 – Die SMTP-Verbindung einrichten

Öffnet die Datenbank von Bengine mit phpMyAdmin o.Ä. und führt die folgenden SQL-Querys aus:

UPDATE `bengine_config` SET `value` = 'smtp' WHERE `var` = 'MAIL_ADAPTER';
UPDATE `bengine_config` SET `value` = '{deinname@gmail.com}' WHERE `var` = 'MAIL_SENDER';
UPDATE `bengine_config` SET `value` = 'PLAIN' WHERE `var` = 'MAIL_SMTP_AUTH';
UPDATE `bengine_config` SET `value` = 'smtp.googlemail.com' WHERE `var` = 'MAIL_SMTP_HOST';
UPDATE `bengine_config` SET `value` = '25' WHERE `var` = 'MAIL_SMTP_PORT';
UPDATE `bengine_config` SET `value` = '{dein_google_passwort}' WHERE `var` = 'MAIL_SMTP_PWD';
UPDATE `bengine_config` SET `value` = 'tls' WHERE `var` = 'MAIL_SMTP_SECURE';
UPDATE `bengine_config` SET `value` = '{deinname@gmail.com}' WHERE `var` = 'MAIL_SMTP_USER';

Die drei Platzhalter in den geschweiften Klammern müssen natürlich durch die Daten des Google-Kontos ersetzt werden.
Danach müsst ihr noch die Cache-Datei /var/cache/options.cache.php aus dem dem Bengine-Verzeichnis löschen, damit die Änderung wirksam werden.

Schritt 3 – Neues Konto registrieren

Inprinzip war es das auch schon. Ihr könnt jetzt wie unter einem normalen Linux-Webserver ein neues Konto registrieren. Die Aktivierungsmail wird dann über den SMTP-Server von Google verschickt.
Im Grunde funktioniert das auch mit vielen anderen kostenlosen E-Mail-Anbietern wie GMX oder Web.de. Der einzige Nachteil dabei ist, dass fast alle Anbieter die Absender-Adresse überprüfen und somit keine Adressen wie beispielsweise noreply[ät]bengine.de zulassen, sondern nur die eigene Adresse. Zum Testen reicht es aber alle Mal.

E-Mail-Verschlüsselung mit JavaScript und CSS

Wer seine E-Mail Adresse über eine Webseite veröffentlichen will, sollte sich entweder auf viel Spam vorbereiten oder eine gute Verschlüsselungstechnik verwenden. Da wir Spambots keine Chance geben wollen, müssen wir uns daher mit der zweiten Variante beschäftigen. Ich habe mal zwei nette Möglichkeiten herausgesucht.

E-Mail-Verschlüsselung mit CSS

Finde diese Technik ziemlich cool, hat aber den Nachteil, dass die Adresse nicht als Link ausgegeben werden kann. Und so geht’s:

<span style="unicode-bidi:bidi-override; direction: rtl;">moc.liamg@noipmahcterces</span>

Inprinzip ist es ganz einfach: Die Adresse wird rückwärts aufgeschrieben und per CSS wieder richtig rumgedreht. Das Ergebnis: moc.liamg@noipmahcterces. Leider wird die Adresse bei Copy&Paste rückwärts kopiert…

E-Mail-Verschlüsselung mit JavaScript

Die Benutzerfreundlichere Methode ist die E-Mail-Adresse mit JavaScript zu verschlüsseln. Es gibt unzählige Code-Snippets, die diese Aufgabe alle unterschiedlich lösen, daher gibt es hier nur ein kleines Beispiel (von mir):

<sccript type="text/javascript">
function mencode(i,n,h,d){var a=n;a+='&#64;';a+=h;a+='&#46;';a+=d;var o=document.getElementById(i);o.innerHTML=a;var l=document.createAttribute('href');l.nodeValue='mailto:'+o.innerHTML;o.setAttributeNode(l);}
</script>
<a id="meine-adresse">Irgendein Platzhalter</a>
<sccript type="text/javascript">mencode('meine-adresse', 'secretchampion', 'gmail', 'com');</script>

Hier wird der Link allerdings anklickbar und kann auch wieder ganz normal kopiert werden.