MevvMail-Dokumentation

Die E-Mail zustellen und es anschließend belegen können.

MevvMail übernimmt wp_mail(), sendet über die Verbindungen, die Sie einrichten, wiederholt Fehlgeschlagenes und schreibt jeden Versuch in eine Tabelle in Ihrer eigenen Datenbank. Dieses Handbuch behandelt die Installation, den Verbindungsbildschirm Feld für Feld, die Reihenfolge, in der die Kette durchlaufen wird, das Protokoll, die WooCommerce-Bestellbox, die Pro-Bildschirme und das, was zu prüfen ist, wenn eine Nachricht nicht ankommt.

Was es tut

WordPress übergibt jede E-Mail der mail()-Funktion des Servers, und die kennt keine Authentifizierung. Postfächer halten solche Post für verdächtig, und wird sie abgewiesen, erfährt es niemand: wp_mail() gibt false zurück, die Seite läuft weiter, und das Passwort-Zurücksetzen oder die Bestellbestätigung ist einfach weg.

MevvMail tritt an die Stelle dieses Wegs. Es sendet über eine authentifizierte Verbindung, die Sie einrichten, durchläuft eine Liste von Verbindungen in der Reihenfolge ihrer Priorität, bis eine die Nachricht annimmt, wiederholt die fehlgeschlagenen und zeigt den Zustellstatus einer WooCommerce-Bestellung direkt auf dem Bestellbildschirm.

Setzen Sie es ein, wenn
Ihr Shop versendet Bestell-, Konto- oder Rechnungs-E-Mails, und Sie müssen die Frage „Ist sie rausgegangen?“ mit einem Datensatz beantworten können statt mit einer Vermutung.
Es ändert nichts, solange Sie es nicht einrichten
Ohne definierte Verbindung gibt der Filter den Versand direkt an WordPress zurück. Das Plugin zu aktivieren übernimmt niemals still einen funktionierenden Mail-Weg.
Es ist kein Versanddienst
MevvMail verkauft keine Zustellung weiter und hat kein eigenes Kontingent. Sie bringen Ihren eigenen SMTP-Server oder Ihr eigenes Anbieterkonto mit, und das Plugin nutzt es.

Voraussetzungen: WordPress 6.0 oder neuer und PHP 8.1 oder neuer. WooCommerce ist optional — ohne WooCommerce funktioniert alles genauso, es fehlt nur die Bestellbox.

Installation

  1. Installieren Sie das kostenlose Plugin MevvMail: Laden Sie die ZIP-Datei über Plugins → Installieren hoch oder kopieren Sie das Verzeichnis mevvmail nach /wp-content/plugins/.
  2. Aktivieren Sie es. Übernommen wird damit noch nichts.
  3. Öffnen Sie MevvMail → Verbindungen und legen Sie Ihre erste Verbindung an.
  4. Klicken Sie auf Test-E-Mail senden und prüfen Sie, ob die Nachricht ankommt.
  5. Optional, aber empfohlen: Legen Sie als Reserve eine zweite Verbindung mit niedrigerer Priorität an.
  6. Nur wenn Sie die Pro-Oberflächen möchten: Installieren Sie MevvMail Pro als zweites Plugin und aktivieren Sie Ihre MEVM-Lizenz unter MevvMail → Lizenz.

Lassen Sie das kostenlose Plugin aktiv, wenn Pro installiert ist. Zustellung, Failover und Protokoll liegen im kostenlosen Plugin, deshalb hält eine abgelaufene Lizenz Ihren Shop nie vom E-Mail-Versand ab.

Verbindungen

Eine Verbindung ist ein Weg aus Ihrer Website hinaus. Es gibt zehn Typen, und jeder einzelne steckt im kostenlosen Plugin: keine zurückgehaltene Funktion und kein Versandlimit von uns.

SMTPPHP mail()BrevoSendGridMailgunPostmarkSparkPostElastic EmailSMTP2GOResend

Die Felder auf dem Bildschirm

Name
Ihre eigene Bezeichnung für die Verbindung. Sie erscheint im Protokoll in der Spalte „Verbindung“, geben Sie ihr also einen Namen, den Sie auch um drei Uhr nachts wiedererkennen.
Anbieter
Wählen Sie den Typ. Der Rest des Formulars ändert sich mit ihm: SMTP fragt nach Host, Port, Verschlüsselung und Zugangsdaten, ein API-Anbieter nach einem Schlüssel und bei Mailgun und SparkPost zusätzlich nach einer Region.
Priorität
Eine Zahl. Die Kette wird von der niedrigsten Priorität aufwärts durchlaufen: Ihre Hauptverbindung bekommt die kleinste Zahl, die Reserve eine größere.
Absendername und Absenderadresse
Der Absender, unter dem die Nachricht verschickt wird. Verwenden Sie eine Adresse auf einer Domain, deren SPF-, DKIM- und DMARC-Einträge auf den Anbieter zeigen, über den Sie senden — sonst bleibt das Postfach auch bei einwandfrei zugestellter Post misstrauisch.
Diesen Absender bei jeder E-Mail erzwingen
Standardmäßig aus. Ist es an, überschreibt diese Verbindung jeden Absender, den die Nachricht mitgebracht hat. Nützlich, wenn ein Plugin unter einer Adresse sendet, die Ihr Anbieter nicht autorisiert; schädlich, wenn Sie tatsächlich auf Absender je Plugin angewiesen sind.
Aktiv
Eine inaktive Verbindung wird von der Kette übersprungen und bleibt auf dem Bildschirm stehen. So nehmen Sie einen Anbieter außer Betrieb, ohne seine Einstellungen zu verlieren.

Gespeicherte Geheimnisse werden nie wieder in das Formular geschrieben. Die Felder für Passwort und API-Schlüssel zeigen „Gespeichert — zum Beibehalten leer lassen“: Tragen Sie nur dann einen Wert ein, wenn Sie ihn ersetzen.

Erst testen, dann vertrauen

Test-E-Mail senden verschickt eine echte Nachricht über genau diese eine Verbindung und schreibt das Ergebnis wie jeden anderen Versand ins Protokoll. Schlägt sie fehl, trägt das Protokoll die Antwort des Anbieters selbst — und das ist fast immer der Satz, der Ihnen sagt, was nicht stimmt.

Die Kette, und was passiert, wenn sie fehlschlägt

Erzeugt WordPress eine E-Mail, durchläuft MevvMail Ihre Verbindungen in der Reihenfolge ihrer Priorität und hält bei der ersten an, die die Nachricht annimmt. Ein Anbieter, der drosselt, dessen Kontingent erschöpft ist oder der ausgefallen ist, kostet Sie einen Versuch, nicht die E-Mail. Der ganze Durchlauf wird als ein Protokolleintrag festgehalten, nicht als einer je Verbindung: Eine einzelne E-Mail sollte sich nicht wie drei getrennte Fehlschläge lesen.

Haben alle Verbindungen abgelehnt, wird der Eintrag als fehlgeschlagen protokolliert und für einen erneuten Versuch eingereiht. Er wird noch dreimal versucht — nach einer Minute, nach fünf Minuten und nach dreißig Minuten — und dann hört es auf. Eine Adresse, die es nicht gibt, fängt beim vierzigsten Versuch nicht an zu existieren.

Wiederholungen werden mit WP-Cron geplant, und WP-Cron läuft nur, wenn jemand die Website besucht. Auf einer ruhigen Website kann eine Wiederholung später erfolgen als in der Minute, für die sie geplant war. Wenn das wichtig ist, wechseln Sie auf dem üblichen Weg zu einem echten Server-Cron — DISABLE_WP_CRON in wp-config.php und ein Aufruf von wp-cron.php aus der crontab. An MevvMail ist dafür nichts zu ändern.

Eine Kette, die etwas taugt

  • Zwei Verbindungen bei zwei verschiedenen Anbietern schützen Sie vor dem schlechten Tag eines Anbieters. Zwei Verbindungen beim selben Anbieter tun das nicht.
  • Behalten Sie eine SMTP-Verbindung in der Kette, sonst haben E-Mails mit Anhang keinen Weg hinaus (siehe unten).
  • PHP mail() ist eine vertretbare letzte Rückfallebene, aber eine schlechte erste Wahl: Es ist genau der Weg ohne Authentifizierung, den das Plugin ersetzen soll.

Das E-Mail-Protokoll

Jeder Versuch wird in eine Tabelle in Ihrer eigenen Datenbank geschrieben. Nichts über Ihre E-Mails wird an uns gesendet — im Plugin gibt es nirgends Telemetrie, Analyse oder Inhaltsprüfung.

Was festgehalten wird
Zeitpunkt, Empfänger, Betreff, Status, die Verbindung, die sie bearbeitet hat, der Teil der Website, der sie erzeugt hat, die Antwort des Anbieters selbst und die Zahl der Versuche.
Filter
Nach Status (gesendet, fehlgeschlagen, ausstehend), nach Quelle und nach Datum. Diese drei zusammen sind meist die ganze Support-Recherche.
Quelle
Eine Nachricht kann eine Kennzeichnung tragen, die sagt, welches Plugin sie erzeugt hat — ein Formular, eine Wiederherstellungs-E-Mail, eine WooCommerce-Benachrichtigung. Die Kennzeichnung wird in einer eigenen Spalte festgehalten und vor dem Versand von der Nachricht entfernt, sie erreicht die empfangende Person also nie.
Erneut senden
Jeder Eintrag lässt sich aus der Liste erneut senden. Er läuft wieder von oben durch die Kette, sodass eine inzwischen reparierte Verbindung genutzt wird.
E-Mail-Text speichern
Standardmäßig an. Schalten Sie es aus, behält das Protokoll nur die Kopfzeilen. Ein solcher Eintrag lässt sich dann ansehen, aber nicht erneut senden — und ein fehlgeschlagener Versand wird auch nicht in die Wiederholungsstaffel eingereiht, weil in beiden Fällen nichts zum Senden aufbewahrt wurde.
Protokolleinträge aufbewahren
7, 30, 90 Tage oder unbegrenzt. Ältere Einträge werden planmäßig entfernt.

Das Protokoll kann personenbezogene Daten enthalten — Adressen, Betreffzeilen und, wenn Sie die Einstellung anlassen, Nachrichtentexte. Prüfen Sie die Aufbewahrungseinstellung und die Option für den Text vor dem Livegang an Ihren eigenen Pflichten, so wie Sie es bei jedem anderen Datensatz Ihres Shops täten.

Deinstallation

Das Plugin zu löschen lässt Ihr Protokoll und Ihre Einstellungen unangetastet. Auf dem Einstellungsbildschirm gibt es genau eine Zustimmung — Beim Löschen des Plugins auch die Protokolltabelle und alle Einstellungen entfernen — und sie ist standardmäßig aus, denn die zerstörerische Lesart von „Deinstallation“ sollte nie diejenige sein, die man aus Versehen bekommt.

Anhänge

In Version 1.0.0 gehen Anhänge ausschließlich über SMTP. Die acht API-Anbieter versenden sie nicht, und das ist eine bewusste Grenze, kein Fehler: Jede dieser APIs will eine Datei in einer anderen Form, und acht halb getestete Encoder auszuliefern war es nicht wert.

  • Eine E-Mail mit einer Datei überspringt API-Verbindungen dauerhaft und sucht in der Kette nach einer SMTP-Verbindung.
  • Ist eine SMTP-Verbindung eingerichtet, werden Rechnungen, Tickets und PDFs normal versendet.
  • Ist keine SMTP-Verbindung eingerichtet, wird eine solche E-Mail als fehlgeschlagen protokolliert, statt ohne ihre Datei zugestellt zu werden — eine stille Zustellung ohne die Rechnung wäre schlimmer als ein sichtbarer Fehlschlag.

Die praktische Regel ist eine Zeile lang: Behalten Sie eine SMTP-Verbindung in der Kette, was sonst auch darin steht.

WooCommerce-Bestellungen

Ist WooCommerce aktiv, bekommt jeder Bestellbildschirm eine Box, die die von dieser Bestellung erzeugten E-Mails und den Zustellstatus jeder einzelnen auflistet. Die Frage „Hat der Kunde die Bestätigung bekommen?“ wird an der Bestellung beantwortet statt durch Suchen im Protokoll.

Das Protokoll hält auch fest, welche WooCommerce-E-Mail eine Nachricht war, sodass eine Wiederholung eine halbe Stunde später noch weiß, was sie sendet — und mit einer Pro-Lizenz auch, welche Routing-Regel und welche Betreffzeile für sie gelten.

MevvMail arbeitet auf einer Website ohne WooCommerce genau gleich. Die Bestellbox ist dann einfach nicht da.

Was eine Pro-Lizenz ergänzt

Alles oben Genannte steckt im kostenlosen Plugin: zehn Verbindungstypen, die Failover-Kette, die Wiederholungsstaffel, das Protokoll, das erneute Senden und die WooCommerce-Bestellbox. Pro ist ein eigenes Plugin, das auf die Zustellung WooCommerce-Tiefe aufsetzt.

WooCommerce-E-Mail-Designer
Ein Logo, eine Grundfarbe, eine Hintergrundfarbe, ein Fußzeilentext und eine Betreffzeile je E-Mail-Typ, mit einer Vorschau des gespeicherten Designs. Angewendet wird das Design vom kostenlosen Plugin, es überlebt also das Abschalten der Lizenz.
Öffnungs-Tracking
Ein optionales 1×1-Pixel, das Ihre eigene Website ausliefert und das als einzelner Zeitstempel in der Spalte „Geöffnet“ des Protokolls festgehalten wird. Standardmäßig aus. Es werden keine IP-Adresse, kein E-Mail-Programm, kein Referrer, kein Standort, kein Gerät und keine Zahl der Öffnungen erfasst, und nirgends wird eine Öffnungsrate angezeigt.
Fehlerwarnungen
Eine E-Mail oder ein Webhook je Ausfall, nach einer von Ihnen gewählten Zahl aufeinanderfolgender Fehlschläge. Die Warnung wird über den eigenen Mail-Weg des Servers verschickt — so erreicht sie Sie auch dann, wenn genau Ihre Verbindungen kaputt sind — und sie trägt weder Empfänger noch Betreff noch Text der fehlgeschlagenen Nachricht.
Bedingtes Routing
Regeln auf der Quellenkennzeichnung oder dem WooCommerce-E-Mail-Typ holen eine Verbindung an den Anfang der Kette. Die Kette wird nie verengt, das Failover funktioniert also weiter, und die Regel greift auch bei einer verzögerten Wiederholung.

Die Lizenz wird unter MevvMail → Lizenz mit einem Schlüssel aktiviert, der mit MEVM beginnt. Läuft sie ab, hören Designer, Tracking, Warnungen und Routing auf; Zustellung, Failover und Protokoll laufen weiter, denn sie gehörten Pro nie.

Öffnungs-Tracking ist ein Hinweis, keine Messung. Ein Postfach, das Bilder blockiert, oder ein Proxy, der sie zwischenspeichert, macht das Pixel stumm oder zu früh. Deshalb wird nur die erste Öffnung behalten, und deshalb zeigt das Produkt keine Öffnungsrate.

Was Ihren Server verlässt

Zwei Dinge, und beide stehen hier.

  1. Ihre E-Mail, an den Anbieter, den Sie eingerichtet haben. Absender, Empfänger, Betreff, Text, ein etwaiges Reply-To und eigene Kopfzeilen sowie Ihr eigener API-Schlüssel, damit der Anbieter Sie authentifizieren kann. MevvMail fügt nichts hinzu — keine Website-Adresse, keine Nutzerdaten, keine Kennung von uns — und an keinen Anbieter geht etwas, bevor Sie eine Verbindung dieses Typs anlegen.
  2. Eine Update-Prüfung. Zwei Werte, der Slug des Plugins und die installierte Versionsnummer, gesendet an https://mevvsoft.com/api/v1/license/free-update, wenn WordPress seine eigene Update-Prüfung ausführt und die zwischengespeicherte Antwort älter als zwölf Stunden ist. Keine Website-Adresse, keine E-Mail-Adresse, kein Lizenzschlüssel, keine Plugin-Liste, keine Nutzungsstatistik. Die Antwort ist signiert, eine unsignierte wird verworfen. Die über das WordPress-Plugin-Verzeichnis verteilte Kopie enthält die Updater-Datei überhaupt nicht.

Der Herausgeber erhält aus diesem Plugin keine E-Mail-Inhalte, keine Empfängeradressen, keine Protokolleinträge und keine Auswertungen. Das Protokoll ist eine Tabelle in Ihrer eigenen Datenbank, und Sie entscheiden, wie lange es aufbewahrt wird und ob Nachrichtentexte überhaupt aufbewahrt werden.

Fehlerbehebung

Das Protokoll sagt gesendet, angekommen ist sie nicht
„Gesendet“ heißt, dass die Verbindung die Nachricht angenommen hat, nicht dass das Postfach sie in den Posteingang gelegt hat. Sehen Sie im Spam nach und prüfen Sie dann, ob die Absenderadresse auf einer Domain liegt, deren SPF-, DKIM- und DMARC-Einträge den Anbieter autorisieren, über den Sie senden. Das meiste, was an dieser Stelle verschwindet, ist Authentifizierung, nicht Zustellung.
Alles schlägt schon bei der ersten Verbindung fehl
Öffnen Sie den Eintrag und lesen Sie die Antwort des Anbieters selbst: Sie wird zusammen mit dem Versuch gespeichert. Falscher Port und falsche Verschlüsselung, ein abgelaufener Schlüssel und ein Absender, den der Anbieter nicht autorisiert, erklären die meisten Fälle.
Eine E-Mail mit Anhang ist fehlgeschlagen
Prüfen Sie, ob Ihre Kette eine SMTP-Verbindung enthält. Ohne eine solche wird eine E-Mail mit einer Datei absichtlich als fehlgeschlagen protokolliert.
Wiederholungen finden nie statt
Zwei Ursachen. WP-Cron läuft nur, wenn jemand die Website besucht, auf einer ruhigen Website wartet die Wiederholung also auf Besucher — oder Sie wechseln zu einem echten Server-Cron. Die zweite ist „E-Mail-Text speichern“: Ist die Einstellung aus, gibt es nichts, womit wiederholt werden könnte, und der fehlgeschlagene Eintrag bleibt absichtlich unangetastet.
Die Schaltfläche „Erneut senden“ hat nichts bewirkt
Dieser Eintrag wurde ohne seinen Text protokolliert, es gibt also nichts zu senden. Schalten Sie „E-Mail-Text speichern“ wieder ein, wenn Sie Einträge später erneut senden möchten.
Die Pro-Bildschirme fehlen
Prüfen Sie, ob das kostenlose Plugin aktiv, das Pro-Plugin aktiv und die Lizenz aktiviert ist. Alle drei sind nötig, und der Lizenzbildschirm sagt Ihnen, was davon fehlt.

Wenn Sie uns schreiben, nennen Sie die Plugin-Versionen, die WordPress- und PHP-Version, den Verbindungstyp und den genauen Wortlaut der Anbieterantwort aus dem Protokolleintrag. Entfernen Sie vorher Kundenadressen und den Nachrichtentext; die Antwort allein genügt fast immer.