Mails aus WordPress mit Mailtrap.io abfangen

Als Entwickler wird man irgendwann auch mal mit Mails in Kontakt kommen. Entweder man schreibt selber Templates und die müssen getestet werden oder man hat eine große Userbase und bei verschiedenen Aktionen werden Mails an die hinterlegten Mail Adressen verschickt. Was dabei nicht passieren darf ist, dass eine Test-Mail zu einem End Nutzer geschickt wird. Denn nur das Live System sollte End Nutzern tatsächlich Mails schicken.

Nun kenne ich das Problem aber, dass man eine WordPress Webseite für Kunden verwaltet und die Seite wächst und damit auch die Anzahl der User. Beim Entwickeln und Testen möchte man natürlich so nah an den echten Daten dran sein, damit die Tests so realistisch ausgeführt werden wie möglich. Wenn man hierbei aber nicht aufpasst werden ruck zuck einige Mails an die Nutzer geschickt, die im besten falls sich nur wundern.

Die Frage ist nun, wie kann ich verhindern, dass aus Versehen eine Mail durch kommt und den Nutzer verwirrt? Man kann zum einen die E-Mail Adressen in der Test DB ändern, aber das wäre ganz schön aufwendig (ja ich weiß, es gibt dafür Scripte und Tools). Statt dessen können wir die Mails einfach mit Mailtrap.io abfangen.

Was ist Mailtrap.io?

Mailtrap.io ist ein Online Service, der sich genau darum kümmert, dass keine E-Mail ausgeliefert wird, stattdessen sammelt der Dienst alle verschickten Mails in einem gemeinsamen Postfach.

Wie sieht das genau aus?

Im Grunde ist die Idee ziemlich simple. Mailtrap.io erstellt eine Inbox mit eigenen SMTP Ausgang und POP3 Eingang zur Verfügung. Nun nutzt man diesen SMTP Server als Ausgangsserver für alle Mails. WordPress verschickt dann alle Mails über diesen Server und geht davon aus, dass Mailtrap die Mails ausliefert. So wäre das normale Verhalten eines SMTP Servers. Stattdessen fängt Mailtrap die Mails ab und legt sie in das eigene Postfach. Somit wird nie eine Mail final verschickt.

D.h. egal an welche E-Mail etwas verschickt wird, wir können die Mail in Mailtrap genau sehen.

In WordPress einbinden

Das Interface von Mailtrap ist ziemlich einfach. Man erstellt eine Inbox und bekommt sofort auf einem Blick alle nötigen Infos angezeigt. Selbst einige Code Snippets stehen zur Verfügung um den Service schnell in sein System einzubinden.

Für WordPress sieht das ganze dann so aus:

function mailtrap($phpmailer) {
  $phpmailer->isSMTP();
  $phpmailer->Host = 'mailtrap.io';
  $phpmailer->SMTPAuth = true;
  $phpmailer->Port = 2525;
  $phpmailer->Username = '552fa51113644a';
  $phpmailer->Password = '267b05b85d933a';
}

add_action('phpmailer_init', 'mailtrap');

Man kann natürlich auch eines der vielen SMTP Plugins verwenden um Mailtrap zu nutzen. Dann trägt man dort die SMTP Daten ein und das sollte genau so gut funktionieren.

Ich nutze Mailtrap in zwischen in einigen Projekten, weil es wirklich einfach ist und ich mir nie Gedanken machen muss, ob ich ausversehen doch eine Mail verschickt habe. Zudem kann man den Service für 1 Inbox und 50 Nachrichten kostenlos nutzen, was für meine Zwecke mehr als ausreichen ist. Sollte man doch etwas mehr brauchen kann man sein Konto gegen etwas Kleingeld aufwerten lassen.

Author: Hans-Helge

Als studierter Informatiker arbeitet Hans-Helge gerne als freiberuflicher WordPress Entwickler und betreut neben eigenen Projekten viele andere Webseiten u.A. im ehrenamtlichen Bereich.

Schreibe einen Kommentar

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