Mail Pilot
Mail Pilot ersetzt die Standard-Mail-Funktion von WordPress durch den Transaktions-E-Mail-Dienst Brevo. Jede ausgehende Nachricht wird über die Brevo-HTTP-API verschickt (mit automatischem SMTP-Fallback), jeder Versand in einem durchsuchbaren Log festgehalten und die Zustellung per Webhook in Echtzeit verifiziert. Das Ergebnis: zuverlässige transaktionale E-Mail und vollständige Transparenz darüber, was Ihre Site tatsächlich zustellt.
Das Plugin richtet sich an Site-Inhaber und Administratoren, die sicher sein müssen, dass Passwort-Resets, Bestellbestätigungen, Kontaktformular-Antworten, WooCommerce-Benachrichtigungen und sonstige Systemnachrichten den Posteingang erreichen. Es bringt keine Marketing- oder Kampagnenfunktionen mit — der Fokus liegt klar auf der transaktionalen Mail-Ebene von WordPress.
Highlights
- Zustellung über Brevo-API. Alle
wp_mail()-Aufrufe laufen über die Brevo-Transaktions-API, was die Zustellrate gegenüber der PHP-Standardfunktionmail()deutlich verbessert. - Automatischer SMTP-Fallback. Lässt sich der API-Aufruf nicht abschließen (etwa wegen eines vorübergehenden Netzproblems), wird die Nachricht über Brevo-SMTP erneut versendet, damit nichts verloren geht.
- Durchsuchbares E-Mail-Log. Jede ausgehende Nachricht wird mit Empfänger, Betreff, Body, Headern, Status und Zeitstempel gespeichert. Das Log lässt sich nach Status filtern und nach Empfänger oder Betreff durchsuchen.
- Öffnungs- und Klick-Tracking. Auf Wunsch fügt Brevo ein Tracking-Pixel ein und schreibt Links so um, dass das Plugin Öffnungen und Klicks pro Nachricht protokollieren kann.
- Zustellungs-Verifikation per Webhooks. Brevo meldet die Ereignisse Delivered, Hard Bounce, Soft Bounce, Blocked, Deferred und Spam-Beschwerde zurück; Mail Pilot bildet sie im Log ab.
- Automatische Bereinigung. Ein WordPress-Cron-Task entfernt alte Log-Zeilen gemäß einer konfigurierbaren Aufbewahrungsdauer, damit die Datenbank nicht unbegrenzt wächst.
- Konfliktvermeidung. Mail Pilot erkennt andere SMTP-Plugins
(insbesondere WP Mail SMTP) und warnt, wenn beide
wp_mail()überschreiben würden — Duplikate und Mail-Verluste werden so verhindert. - Erneut senden und testen. Jede protokollierte Nachricht lässt sich aus dem Adminbereich erneut versenden; ein eingebautes Test-Mail-Werkzeug überprüft die Konfiguration.
Voraussetzungen
- WordPress 6.0 oder neuer.
- PHP 7.4 oder neuer (PHP 8.1+ empfohlen).
- Ein Brevo-Konto (der kostenlose Tarif reicht für typische transaktionale Volumina).
- Eine in Brevo verifizierte Absenderadresse oder authentifizierte Versanddomain.
- Ausgehender HTTPS-Zugriff vom WordPress-Server auf
api.brevo.comüber Port 443 sowie Port 587 für den SMTP-Fallback. - Aktivierter WordPress-Cron (
wp-cron) oder ein System-Cron, derwp-cron.phpaufruft — sonst läuft der Cleanup-Job nicht planmäßig.
Installation
- Laden Sie das aktuelle
mail-pilot.zipaus Ihrem Konto oder von der Plugin-Download-Seite herunter. - Öffnen Sie im WordPress-Adminbereich Plugins → Installieren → Plugin hochladen.
- Wählen Sie die ZIP-Datei aus, klicken Sie auf Jetzt installieren und anschließend auf Plugin aktivieren.
- Nach der Aktivierung erscheint ein neuer Eintrag unter Mail Pilot → Einstellungen. Außerdem fügt das Plugin einen Hauptmenüpunkt Mail Pilot hinzu, über den Sie direkt zum Log und zu den Statistiken springen.
Bei der Aktivierung legt Mail Pilot seine eigene Datenbanktabelle an
({prefix}_mail_pilot_logs) und speichert dort das Mail-Log. Es
werden keine E-Mails abgefangen, bevor der API-Key gespeichert und
die Integration aktiviert ist.
Konfiguration
Die Konfiguration teilt sich auf drei Bereiche auf: die Brevo-Zugangsdaten, die Absenderidentität und die Betriebsoptionen für Logging, Tracking und Aufbewahrung. Alle Einstellungen finden sich unter Mail Pilot → Einstellungen.
1. Brevo-Konto und API-Key anlegen
- Registrieren Sie sich unter brevo.com , falls Sie noch kein Konto haben. Der kostenlose Tarif erlaubt ein großzügiges tägliches Volumen an transaktionaler Mail — das genügt für die meisten kleinen und mittleren Sites.
- Loggen Sie sich im Brevo-Dashboard ein.
- Öffnen Sie das Benutzermenü oben rechts und wählen Sie SMTP & API.
- Wechseln Sie zum Tab API-Schlüssel und klicken Sie auf Neuen API-Schlüssel erstellen.
- Vergeben Sie einen wiedererkennbaren Namen (z. B.
wordpress-mail-pilot) und kopieren Sie den erzeugten Wert. Brevo zeigt den Secret nur einmal an — speichern Sie ihn an einem sicheren Ort.
2. Absender verifizieren
Brevo weigert sich, Nachrichten von einem unverifizierten Absender zu versenden. Bevor Sie die Konfiguration in WordPress speichern, stellen Sie sicher, dass entweder die Absenderadresse oder die ganze Domain in Brevo verifiziert ist:
- Für eine einzelne Adresse: öffnen Sie in Brevo Absender, Domains & dedizierte IPs → Absender, fügen die Adresse hinzu und bestätigen sie über die von Brevo verschickte E-Mail.
- Für eine Domain: öffnen Sie Absender, Domains & dedizierte IPs → Domains und folgen Sie dem Wizard, der Sie auffordert, die SPF-, DKIM- und DMARC-DNS-Einträge zu hinterlegen. Die Domain-Authentifizierung liefert die beste Zustellrate und ist für produktive Sites dringend zu empfehlen.
3. Zugangsdaten in WordPress eintragen
- Öffnen Sie im WordPress-Adminbereich Mail Pilot → Einstellungen. Die Seite ist in drei Tabs aufgeteilt — Allgemein, Logging und Erweitert — Zugangsdaten und Test-Mail liegen alle im Tab Allgemein.
- (Optional) Tragen Sie in der Karte Lizenz oben Ihren Schlüssel
PILOT-XXXX-XXXX-XXXX-XXXXein und klicken Sie auf Prüfen & Speichern, um automatische Plugin-Updates aus dem GitHub-Release-Feed zu aktivieren. - Lassen Sie in der Karte Verbindung den Mail-Anbieter auf
Brevostehen (der derzeit einzige Anbieter). - Fügen Sie in der Karte Brevo-Einstellungen den API-Key im Feld API-Schlüssel ein und drücken Sie Verbindung testen, um die Zugangsdaten gegen die Brevo-API zu prüfen.
- Stellen Sie in der Karte Absender ein:
- Absender-E-Mail auf die im vorigen Schritt verifizierte Adresse und aktivieren Sie Absender-E-Mail erzwingen, damit andere Plugins keine eigene Adresse einsetzen können.
- Absendername auf das Label, das als Autor der ausgehenden Nachrichten erscheinen soll, und aktivieren Sie Absendername erzwingen, damit auch dieser Vorrang gegenüber Plugin-Overrides hat.
- Klicken Sie auf Einstellungen speichern.
Möchten Sie schnell eine Verifikations-Mail verschicken, finden Sie unten im Tab Allgemein die Karte Test-E-Mail mit dem Feld An und der Schaltfläche Test senden.

4. Test-E-Mail verschicken
Unterhalb des Zugangsdaten-Bereichs erlaubt das Formular Test-E-Mail senden die End-zu-End-Verifikation der Konfiguration:
- Geben Sie die Zieladresse ein (Ihr eigenes Postfach ist eine gute Wahl).
- Klicken Sie auf Test-E-Mail senden.
- Das Plugin meldet sofort Erfolg oder Fehler; die Nachricht erscheint innerhalb weniger Sekunden im Log.
Kommt die Testnachricht im Posteingang an, funktioniert die API-Integration. Trifft sie nicht innerhalb einiger Minuten ein, öffnen Sie den Log-Eintrag und prüfen die von Brevo zurückgelieferten Antwortdetails — anschließend hilft der Abschnitt Fehlerbehebung weiter.
5. Zustell-Webhook konfigurieren
Brevo schickt Öffnungs-, Klick- und Zustell-Ereignisse per Webhook zurück an WordPress. Die Einrichtung ist optional, aber empfohlen — ohne sie zeigt das Log nur, dass die Nachricht von Brevo angenommen wurde, nicht aber, ob sie tatsächlich zugestellt, abgewiesen oder geöffnet wurde.
- Kopieren Sie in Mail Pilot die in den Einstellungen angezeigte Webhook-URL. Sie verweist auf den REST-Endpunkt
https://<ihre-site>/wp-json/mail-pilot/v1/webhook. - Öffnen Sie im Brevo-Dashboard Transaktional → Einstellungen → Webhook und klicken Sie auf Neuen Webhook hinzufügen.
- Fügen Sie die URL im Feld Aufzurufende URL ein.
- Wählen Sie die zu meldenden Ereignisse. Empfohlen ist:
- Sent
- Delivered
- Hard Bounce
- Soft Bounce
- Blocked
- Spam (Beschwerde)
- Opened (nur wenn Öffnungs-Tracking aktiv ist)
- Clicked (nur wenn Klick-Tracking aktiv ist)
- Webhook speichern.
Brevo beginnt sofort, Status-Updates an WordPress zu schicken. Die Statusspalte im Log aktualisiert sich, sobald Ereignisse eintreffen.
6. Tracking, Aufbewahrung und Cleanup
Die Tabs Logging und Erweitert der Einstellungsseite enthalten die operativen Optionen:
- Öffnungs-Tracking aktivieren. Wenn an, bettet Brevo ein 1×1-Tracking-Pixel in den HTML-Body ein. Das Pixel wird vom Mail-Client des Empfängers geladen, was als Öffnung gezählt wird.
- Klick-Tracking aktivieren. Wenn an, werden Links in HTML-Mails so umgeschrieben, dass sie auf einen Brevo-Redirector zeigen — dieser zählt den Klick und leitet den Empfänger anschließend an die ursprüngliche URL weiter.
- Log-Aufbewahrung (Tage). Anzahl der Tage, nach denen Log-Einträge vom Cleanup-Task entfernt werden. Standard sind 30 Tage. Setzen Sie den Wert auf
0, um Einträge unbegrenzt zu behalten (auf stark frequentierten Sites nicht empfohlen). - Cleanup-Plan. Frequenz des WordPress-Cron-Events, das das Log bereinigt. Standard: täglich.
- Nachrichtentext protokollieren. Wenn aus, werden nur Metadaten (Empfänger, Betreff, Status) gespeichert — das verringert die Datenbankgröße und vermeidet, dass sensible Inhalte wie Passwort-Resets im Klartext liegen.
Klicken Sie auf Änderungen speichern, um die Einstellungen zu übernehmen.
Nutzung
Sobald die Integration aktiv ist, arbeitet Mail Pilot transparent. Jeder Aufruf von wp_mail() durch WordPress-Core, Themes oder Plugins wird abgefangen und über Brevo umgeleitet. Es ist keine Codeänderung in WooCommerce, Contact Form 7, WPForms, BuddyPress oder anderen Plugins nötig, die die standardisierte WordPress-Mail-API verwenden.
Das Dashboard
Der Hauptmenüpunkt Mail Pilot öffnet ein Dashboard, das die Mail-Aktivität für den gewählten Zeitraum zusammenfasst. Eine Bereichsauswahl oben wechselt zwischen 7 Tagen, 14 Tagen und 30 Tagen; sechs KPI-Karten am oberen Rand zeigen Versendet gesamt, Zugestellt (mit Zustellrate %), Fehlgeschlagen (mit Fehlerquote %), Bounced, Öffnungen (mit Öffnungsrate %) und Klicks. Die Werte werden aktualisiert, sobald Webhook-Ereignisse eintreffen.

Unter den KPIs rendert das Dashboard fünf Live-Diagramme aus dem eigenen Log:
- Versandvolumen — täglicher Stacked-Area-Chart über zugestellte, blockierte und gebouncte Nachrichten.
- Zustellstatus — Donut-Aufschlüsselung derselben drei Buckets für den gewählten Zeitraum.
- Öffnungen & Klicks — täglicher Linien-Chart der einmaligen Öffnungen und Klicks.
- Top-Quellen — horizontales Balkendiagramm der Plugins/Themes, die die meisten Mails erzeugen — abgeleitet aus der bei jedem Versand erfassten Aufrufstelle.
- Sendestunden — Stunden-Histogramm darüber, wann Mails die Site verlassen und wann Brevo sie ausliefert — nützlich, um Cron-Stürme zu erkennen.
Eine Karte Brevo-Konto am unteren Rand zieht den Live-Status Ihres Brevo-Kontos: verbundene Konto-E-Mail, aktuellen Guthabenstand sowie Zähler für Anfragen, Zugestellt, Öffnungen, Klicks, Hard Bounces, Soft Bounces, Blockiert und Spam-Meldungen über alle Versandkanäle hinweg (API, SMTP-Relay und externe Software).
Das E-Mail-Log

Der Bildschirm E-Mail-Log (Mail Pilot → E-Mail-Log) listet jede vom Plugin verarbeitete Nachricht, neueste zuerst — mit Dropdown für Bulk-Aktionen, Statusfilter, Volltextsuche und einer Anzeigen-Aktion pro Zeile. Jede Zeile enthält:
- die Empfängeradresse (oder die erste, falls mehrere vorhanden sind);
- den Betreff;
- den aktuellen Status:
queued,sent,delivered,opened,clicked,soft-bounce,hard-bounce,blocked,spamodererror; - den Zeitstempel der letzten Statusänderung;
- die Brevo-Message-ID (für die Korrelation mit den Logs in Brevo).
Mit dem Suchfeld oberhalb der Tabelle lässt sich nach Empfänger oder Betreff filtern; das Status-Dropdown blendet z. B. nur fehlgeschlagene Nachrichten ein. Ein Klick auf eine Zeile öffnet die Detailansicht:
- die vollständigen Nachrichten-Header und den Body (sofern Body-Logging an ist);
- die Liste der Empfänger (To, Cc, Bcc);
- jedes erfasste Ereignis mit Zeitstempel;
- die rohe Brevo-Antwort, hilfreich für Support-Anfragen.
Aus der Detailansicht heraus können Sie über Erneut senden die Nachricht unverändert wiederholen oder mit Kopieren als Vorlage für eine neue Testmail verwenden.
WordPress-Dashboard-Widget
Mail Pilot registriert ein Widget auf dem Standard-Dashboard (der Seite, die WordPress nach dem Login öffnet). Das Widget spiegelt das Plugin-Dashboard auf einen Blick — so erkennen Sie Zustellungsanomalien, ohne ins Mail-Pilot-Menü zu wechseln.

Das Widget bietet einen Zeitraumwähler 7 / 14 / 30 Tage, einen Versandvolumen-Linien-Chart (Zugestellt / Fehlgeschlagen / Bounced) sowie einen Brevo-Footer mit aktuellem Guthabenstand und Zählern für Anfragen, Zugestellt, Fehlgeschlagen, Bounced, Öffnungen und Klicks. Der Link Vollständiges Log anzeigen im Header öffnet die E-Mail-Log-Seite.
Das Widget ist optional; Sie schalten es unter Mail Pilot → Einstellungen → Erweitert → Dashboard-Widget ein oder aus.
Zusammenspiel mit anderen Plugins
Mail Pilot ersetzt die Standardimplementierung von wp_mail() durch eine eigene PHPMailer-Erweiterung. Dadurch ist es mit anderen Plugins, die dasselbe tun, inkompatibel — darunter WP Mail SMTP, Easy WP SMTP, Post SMTP, FluentSMTP und ähnliche Werkzeuge. Das Plugin erkennt die gängigsten und zeigt eine Admin-Notiz mit der Aufforderung, sich für einen Mailer zu entscheiden. Empfohlen ist, das andere SMTP-Plugin zu deaktivieren und dessen Zugangsdaten bei Bedarf in Mail Pilot zu übernehmen.
WooCommerce, BuddyPress, WPForms, Contact Form 7, Easy Digital Downloads und die WordPress-Core-Benachrichtigungen funktionieren weiterhin ohne Änderung — sie alle laufen über wp_mail() und werden daher automatisch von Mail Pilot erfasst.
FAQ
Ersetzt Mail Pilot nur transaktionale Mails oder auch Marketing-Kampagnen?
Es kümmert sich ausschließlich um transaktionale E-Mail — also alles, was WordPress über wp_mail() versendet. Marketing-Kampagnen, die im Brevo-Dashboard erstellt werden, bleiben dort und tauchen nicht im Mail-Pilot-Log auf.
Muss ich für Brevo bezahlen? Nein. Der kostenlose Brevo-Tarif beinhaltet aktuell ein tägliches Kontingent an transaktionalen Mails, das für die meisten kleinen und mittleren Sites ausreicht. Wächst Ihr Volumen, lässt sich aus dem Brevo-Dashboard heraus auf einen kostenpflichtigen Tarif wechseln — ohne dass Sie das Plugin neu installieren müssten.
Kann ich WP Mail SMTP und Mail Pilot parallel betreiben?
Nein. Nur ein Plugin darf wp_mail() überschreiben; zwei aktive Plugins führen zu Duplikaten, verlorenen Nachrichten oder PHP-Fehlern. Deaktivieren Sie das andere SMTP-Plugin, bevor Sie Mail Pilot aktivieren.
Werden Nachrichtentexte in der Datenbank gespeichert? Nur dann, wenn Nachrichtentext protokollieren in den Einstellungen aktiviert ist. Mit ausgeschalteter Option werden Empfänger, Betreff, Header und Status protokolliert, der Body jedoch nicht — was sinnvoll ist, wenn die Site Passwort-Resets oder andere sensible Inhalte verschickt.
Funktioniert das Öffnungs-Tracking mit allen E-Mail-Clients? Öffnungs-Tracking hängt davon ab, dass der Empfänger Remote-Bilder in seinem Mail-Client lädt. Viele Unternehmens-Clients und Apple Mail Privacy Protection blockieren oder pre-fetchen das Pixel — interpretieren Sie Öffnungsraten daher als untere (oder obere) Schranke, nicht als exakten Wert.
Unterstützt das Plugin mehrere Absenderadressen?
Der Standardabsender wird global konfiguriert. Plugins oder Code, die einen expliziten From:-Header an wp_mail() übergeben, nutzen diese Adresse — sofern sie in Brevo verifiziert ist. Unverifizierte Adressen weist die API ab.
Kann ich das Log exportieren? Ja. Der Log-Bildschirm bietet einen Button CSV exportieren, der die aktuell gefilterte Ansicht exportiert. Der Export enthält Empfänger, Betreff, Status, Zeitstempel und Brevo-Message-ID.
Wo werden die Daten gespeichert?
Logs liegen in einer eigenen Tabelle namens {prefix}_mail_pilot_logs in der WordPress-Datenbank. Einstellungen liegen in der Standard-Optionentabelle von WordPress. Daten werden außer an Brevo selbst an niemanden weitergegeben.
Ist Mail Pilot mit Multisite kompatibel? Ja. Jede Site in einem Multisite-Netzwerk hat eigene Einstellungen und eine eigene Log-Tabelle und nutzt einen eigenen Brevo-API-Key. Das Plugin lässt sich auch netzwerkweit aktivieren.
Fehlerbehebung
Die Einstellungsseite meldet „API-Schlüssel abgelehnt”. Kopieren Sie den Schlüssel erneut aus Brevo und achten Sie auf führende oder abschließende Leerzeichen. Prüfen Sie, dass der Schlüssel im Brevo-Dashboard nicht widerrufen oder in seinen Rechten beschnitten wurde. Für die v2-API erzeugte Schlüssel funktionieren unter Umständen nicht — erzeugen Sie einen v3-Schlüssel im Tab API-Schlüssel.
Test-E-Mails werden als versendet gemeldet, kommen aber nicht an. Öffnen Sie den Log-Eintrag der Test-Mail und prüfen Sie die Abschnitte Status und Brevo-Antwort. Die häufigsten Fälle sind:
- Der Empfänger steht auf Brevos Suppression-Liste (früherer Bounce oder Abmeldung). Entfernen Sie die Adresse in Brevo unter Kontakte → Unterdrückte Kontakte.
- Der Absender oder die Versanddomain ist nicht verifiziert — Brevo akzeptiert die Anfrage, blockiert die Nachricht aber.
- Der Empfänger-Mail-Provider hat die Nachricht als Spam eingestuft. Prüfen Sie den Spam-Ordner und überarbeiten Sie SPF, DKIM und DMARC für die Versanddomain.
Webhook-Ereignisse kommen nie im Log an.
Stellen Sie sicher, dass die in Brevo hinterlegte Webhook-URL exakt mit der in den Mail-Pilot-Einstellungen angezeigten übereinstimmt — inklusive Protokoll (https) und etwaiger Unterverzeichnisse Ihrer Installation. WordPress muss aus dem öffentlichen Internet erreichbar sein; Webhooks lassen sich nicht an Sites hinter einem VPN oder an localhost zustellen. Falls Sie ein Security-Plugin oder eine WAF nutzen, stellen Sie sicher, dass Requests auf /wp-json/mail-pilot/v1/webhook nicht blockiert werden.
Alte Log-Einträge werden nicht gelöscht.
Der Cleanup wird über WordPress-Cron angestoßen. Bei sehr wenig Traffic feuert der Cron nicht häufig genug; richten Sie dann einen System-Cron ein, der wp-cron.php einmal pro Stunde aufruft. Sie können den Cleanup zudem über den Button Cleanup jetzt ausführen am unteren Rand der Einstellungsseite manuell anstoßen.
Die E-Mails eines bestimmten Plugins laufen nicht über Brevo.
Prüfen Sie, ob das betreffende Plugin seine Mails über eine eigene SMTP-Implementierung statt über wp_mail() versendet. Plugins, die wp_mail() umgehen, lassen sich nicht abfangen — konsultieren Sie deren Dokumentation, um sie auf dieselben Brevo-Zugangsdaten umzustellen, oder deaktivieren Sie deren eigenen Mailer.
Nach dem Umstieg auf Mail Pilot werden Mails von einer anderen Adresse versendet.
Die in Mail Pilot konfigurierte Absenderadresse überschreibt jene, die WordPress sonst verwendet hätte. Soll eine bestimmte Plugin-„From”-Adresse erhalten bleiben, muss das betreffende Plugin den From:-Header beim Aufruf von wp_mail() explizit setzen — andernfalls passen Sie den globalen Absender unter Mail Pilot → Einstellungen entsprechend an.