Bounce Management und Standard Mailbox in CiviCRM
Nach der Einrichtung einer neuen CiviCRM-Instanz erscheint im Systemstatus häufig folgende Warnung:
Standard-Mailbox einrichten
Das wichtigste zuerst: Diese Meldung kann ignoriert werden. Siehe dazu Kapitel 8.
Denn diese Meldung bezieht sich nicht auf den Versand von E-Mails, sondern es geht um die Verarbeitung von Rückmeldungen zu E-Mails, die als Serien-E-Mail mit CiviMail versendet worden sind und nicht zugestellt werden konnten. Das wird relevant, sobald man den Serien-E-Mail-Versand mit CiviMail in Betrieb nimmt.
Solche Rückmeldungen werden als Bounces bezeichnet.
Inhaltsverzeichnis
1. Was ist ein Bounce?
Wenn CiviCRM eine E-Mail versendet, kann der empfangende Mailserver sie annehmen oder zurückweisen. Eine Zurückweisung kann unterschiedliche Gründe haben:
- Die E-Mail-Adresse existiert nicht.
- Das Postfach ist voll.
- Die Domain des Empfängers ist nicht erreichbar.
- Der empfangende Server weist die E-Mail als Spam zurück.
- Das Benutzerkonto wurde deaktiviert.
- Es liegt ein vorübergehendes technisches Problem vor.
Die daraufhin erzeugte Fehlermeldung wird an eine technische Rücksendeadresse geschickt. CiviCRM kann diese Nachricht auswerten und feststellen, welche E-Mail an welchen Kontakt nicht zugestellt werden konnte.
Dabei unterscheidet CiviCRM grundsätzlich zwischen vorübergehenden und dauerhaften Zustellfehlern.
Ein volles Postfach kann beispielsweise nur vorübergehend nicht erreichbar sein. Eine nicht existierende E-Mail-Adresse stellt dagegen in der Regel einen dauerhaften Fehler dar. Abhängig von der Art und Häufigkeit der Rückläufer kann CiviCRM die betreffende E-Mail-Adresse auf „On Hold“, in der deutschen Oberfläche teilweise als „Zurückgestellt“ bezeichnet, setzen. An eine zurückgestellte E-Mail-Adresse werden anschließend keine weiteren CiviMail-Mailings versendet.
Das Bounce-Management erfüllt damit drei wichtige Aufgaben:
- unzustellbare Adressen werden erkannt,
- die Qualität der Kontakt- und Verteilerlisten wird verbessert,
- wiederholte Versandversuche an ungültige Adressen werden vermieden.
Letzteres ist auch für die Zustellbarkeit wichtig. Ein hoher Anteil unzustellbarer E-Mails kann von Mailanbietern als Hinweis auf schlecht gepflegte Verteiler oder unerwünschten Massenversand gewertet werden.
2. Wozu dient die Standard-Mailbox?
Damit CiviCRM Rückläufer auswerten kann, benötigt es Zugriff auf ein eingehendes E-Mail-Postfach. Dieses Postfach wird unter
Administration > CiviMail > E-Mail-Konten
eingetragen.
In einer neuen CiviCRM-Instanz ist dort üblicherweise bereits ein noch nicht konfigurierter Eintrag für ein Standardkonto vorhanden. Dieser Eintrag enthält lediglich Platzhalter und muss durch die tatsächlichen Zugangsdaten eines Postfachs ersetzt werden.
Die Bezeichnung „Standard-Mailbox“ kann dabei missverstanden werden. Es handelt sich nicht um:
- die allgemeine E-Mail-Adresse der Organisation,
- die Absenderadresse eines Mailings,
- den SMTP-Server für den Versand,
- oder das persönliche Postfach einer BenutzerIn.
Es handelt sich um ein technisches Eingangspostfach, aus dem CiviCRM automatisiert Rückläufer abholt.
Für dieses Postfach sollte nach Möglichkeit eine eigene E-Mail-Adresse eingerichtet werden, zum Beispiel:
oder:
Es ist nicht empfehlenswert, dafür ein persönliches Postfach oder eine allgemein verwendete Adresse wie zu verwenden. CiviCRM verarbeitet die dort eingehenden Nachrichten automatisiert und verschiebt sie gegebenenfalls in Unterordner für verarbeitete oder ignorierte Nachrichten. Außerdem sollten technische Zugangsdaten nicht unnötig mit dem persönlichen E-Mail-Konto einer MitarbeiterIn verbunden sein.
3. Ein gewöhnliches IMAP-Postfach genügt nicht immer
CiviCRM muss einen Rückläufer nicht nur empfangen, sondern auch dem richtigen Mailing, der richtigen Nachricht und dem richtigen Kontakt zuordnen können.
Dazu erzeugt CiviCRM für die über CiviMail versendeten Nachrichten individuelle Rücksendeadressen. Eine solche Adresse kann bei Nutzung der Plus-Adressierung beispielsweise folgendermaßen aussehen:
Der hinter dem Pluszeichen eingefügte Bestandteil ermöglicht es CiviCRM, den Rückläufer einer bestimmten versendeten Nachricht zuzuordnen. Dieses Verfahren wird als Variable Envelope Return Path, kurz VERP, bezeichnet.
Für den Empfang dieser individuellen Rücksendeadressen gibt es zwei sinnvolle Möglichkeiten.
Möglichkeit 1: Plus-Adressierung
Der verwendete Mailanbieter unterstützt sogenanntes Sub-Addressing oder Plus-Adressierung. Dabei werden alle an Adressen wie
gesendeten Nachrichten im eigentlichen Postfach
zugestellt.
Ob der Anbieter, mit dem man seine E-Mail-Adressen verwaltet, dies unterstützt, lässt sich einfach testen: Nach der Einrichtung des Postfachs wird eine normale Testmail an gesendet. Kommt diese im Postfach an, kann die Plus-Adressierung verwendet werden.
Möglichkeit 2: Catch-all für eine eigene Subdomain
Unterstützt der Mailanbieter keine Plus-Adressierung, kann eine eigene Subdomain ausschließlich für die Verarbeitung von Rückläufern eingerichtet werden, beispielsweise:
bounce.domain.xy
Für diese Subdomain wird eine Catch-all-Regel angelegt. Das bedeutet, dass alle Nachrichten an beliebige Adressen unterhalb dieser Subdomain in einem bestimmten Postfach eingehen:
*@bounce.domain.xy
Das Sternchen steht dabei für einen beliebigen lokalen Adressteil. CiviCRM kann somit individuelle Rücksendeadressen erzeugen, beispielsweise:
Obwohl diese einzelnen Adressen nicht ausdrücklich als Postfächer angelegt wurden, werden alle an sie gerichteten Nachrichten durch die Catch-all-Regel an dasselbe technische IMAP-Postfach zugestellt. CiviCRM ruft dieses Postfach ab und ordnet die Rückläufer anhand der individuellen Adresse den versendeten Nachrichten zu.
Diese Variante ist günstiger als ein Catch-all für die eigentliche Organisationsdomain. Würde die Catch-all-Regel für die gesamte Domain domain.xy eingerichtet, würden auch Nachrichten an falsch geschriebene oder frei erfundene Adressen wie
im Bounce-Postfach landen. Bei einer eigenen Subdomain betrifft die Catch-all-Regel dagegen ausschließlich Adressen unter @bounce.domain.xy. Die normale E-Mail-Kommunikation unter @domain.xy bleibt davon unberührt.
Voraussetzung ist, dass der Hosting- oder E-Mail-Anbieter sowohl die Einrichtung einer Subdomain als auch eine auf diese Subdomain beschränkte Catch-all-Regel ermöglicht. Je nach Anbieter muss für die Subdomain zusätzlich die E-Mail-Zustellung beziehungsweise ein entsprechender MX-Eintrag eingerichtet werden.
Für das Bounce-Management bestehen damit zwei empfehlenswerte Varianten:
- ein eigenes Postfach wie
mit Plus-Adressierung; - ein Catch-all für eine ausschließlich dafür eingerichtete Subdomain wie
*@bounce.domain.xy.
Ein Catch-all für die gesamte Organisationsdomain sollte dagegen nur verwendet werden, wenn weder Plus-Adressierung noch eine eigene Bounce-Subdomain möglich sind.
4. Standard-Mailbox in CiviCRM einrichten
Für die Einrichtung werden die IMAP-Zugangsdaten des technischen Postfachs benötigt, in dem die Rückläufer eingehen.
Unter
Administration > CiviMail > E-Mail-Konten
wird das vorhandene Standardkonto bearbeitet. Typischerweise sind folgende Angaben erforderlich:
- Name des Mailservers, zum Beispiel
imap.domain.xy - Benutzername des Postfachs
- Passwort
- Protokoll, vorzugsweise IMAP
- Verwendung einer verschlüsselten Verbindung
- E-Mail-Domain
- gegebenenfalls ein lokaler Adressteil
- Verwendungszweck: Bounce-Verarbeitung
Welche Werte unter E-Mail-Domain und Lokaler Adressteil eingetragen werden, hängt davon ab, ob die Rückläufer mittels Plus-Adressierung oder über eine Catch-all-Subdomain empfangen werden.
4.1 Konfiguration bei Plus-Adressierung
Bei der Plus-Adressierung besteht ein gewöhnliches technisches Postfach, beispielsweise:
Der Mailanbieter stellt auch Nachrichten an davon abgeleitete Adressen in diesem Postfach zu, beispielsweise:
In CiviCRM werden in diesem Fall folgende Angaben vorgenommen:
- E-Mail-Domain:
domain.xy - Lokaler Adressteil:
bounce+
Der lokale Adressteil bezeichnet den gleichbleibenden Teil vor der von CiviCRM erzeugten individuellen Kennung. Aus dem lokalen Adressteil bounce+, einer individuellen Kennung und der E-Mail-Domain erzeugt CiviCRM beispielsweise folgende Rücksendeadresse:
Der hinter dem Pluszeichen eingefügte Bestandteil ermöglicht es CiviCRM, einen eingehenden Rückläufer der versendeten Nachricht und dem betreffenden Kontakt zuzuordnen.
4.2 Konfiguration bei einer Catch-all-Subdomain
Alternativ kann eine ausschließlich für Rückläufer vorgesehene Subdomain eingerichtet werden, beispielsweise:
bounce.domain.xy
Der Mailanbieter erhält für diese Subdomain eine Catch-all-Regel:
*@bounce.domain.xy
Das Sternchen steht für einen beliebigen lokalen Adressteil. Dadurch werden beispielsweise Nachrichten an folgende Adressen in demselben technischen Postfach zugestellt:
Die einzelnen Adressen müssen nicht als eigene Postfächer eingerichtet werden. Die Catch-all-Regel sorgt dafür, dass alle Nachrichten unterhalb der Subdomain bounce.domain.xy in dem für die Bounce-Verarbeitung vorgesehenen IMAP-Postfach eingehen.
In CiviCRM werden in diesem Fall folgende Angaben vorgenommen:
- E-Mail-Domain:
bounce.domain.xy - Lokaler Adressteil: bleibt leer
CiviCRM setzt die individuelle Kennung unmittelbar vor die E-Mail-Domain und erzeugt beispielsweise folgende Rücksendeadresse:
Da der lokale Adressteil in diesem Fall vollständig von CiviCRM erzeugt wird, darf im entsprechenden Feld kein Wert wie bounce, bounce+ oder * eingetragen werden. Das Sternchen gehört ausschließlich zur Beschreibung der Catch-all-Regel beim E-Mail-Anbieter und wird nicht in CiviCRM eingetragen.
Eine Catch-all-Regel für eine eigene Bounce-Subdomain ist einer Catch-all-Regel für die gesamte Organisationsdomain vorzuziehen. Bei einem Catch-all für *@domain.xy würden auch Nachrichten an falsch geschriebene oder frei erfundene Adressen wie
im technischen Postfach landen. Bei einer auf *@bounce.domain.xy beschränkten Catch-all-Regel betrifft dies dagegen nur die eigens für das Bounce-Management eingerichtete Subdomain. Die gewöhnliche E-Mail-Kommunikation unter @domain.xy bleibt davon unberührt.
Voraussetzung ist, dass der E-Mail-Anbieter die Einrichtung einer Subdomain und einer auf diese Subdomain beschränkten Catch-all-Regel unterstützt. Je nach Anbieter muss außerdem die E-Mail-Zustellung für die Subdomain eingerichtet oder ein entsprechender MX-Eintrag gesetzt werden.
4.3 Weitere Einstellungen des Standardkontos
Unabhängig davon, welche der beiden Varianten verwendet wird, muss das Konto in CiviCRM als Konto für die Bounce-Verarbeitung eingerichtet und als Standardkonto gekennzeichnet werden.
CiviCRM erlaubt mehrere E-Mail-Konten für unterschiedliche Zwecke, aber nur ein Standardkonto für die Verarbeitung der Rückläufer aus CiviMail.
Das Bounce-Postfach sollte ausschließlich für diesen Zweck eingesetzt werden. Insbesondere sollte dasselbe Postfach nicht gleichzeitig für die Funktion verwendet werden, eingehende E-Mails als Aktivitäten an Kontakten abzulegen. Beide Verarbeitungsarten greifen automatisiert auf eingehende Nachrichten zu, verarbeiten sie und verschieben sie gegebenenfalls in Unterordner. Sie benötigen deshalb getrennte Postfächer.
Vor dem Speichern beziehungsweise spätestens vor dem ersten produktiven Versand sollte außerdem geprüft werden, ob die von CiviCRM erzeugten Rücksendeadressen tatsächlich in dem eingerichteten Postfach ankommen:
- Bei Plus-Adressierung wird beispielsweise eine Testmail an
gesendet. - Bei Verwendung einer Catch-all-Subdomain wird beispielsweise eine Testmail an
gesendet.
Erst wenn die Testmail im vorgesehenen IMAP-Postfach eingeht, ist sichergestellt, dass CiviCRM die späteren Rückläufer tatsächlich abrufen kann.
5. Automatischen Abruf der Rückläufer aktivieren
Mit dem Eintragen des Postfachs ist die Einrichtung noch nicht abgeschlossen. CiviCRM muss das Postfach regelmäßig abrufen.
Dafür existiert unter
Administration > Systemeinstellungen > Geplante Aufgaben
die geplante Aufgabe:
Fetch Bounces
Nach der Einrichtung der Standard-Mailbox sollte diese Aufgabe zunächst manuell ausgeführt werden. Anschließend sollte im Protokoll der geplanten Aufgaben geprüft werden, ob der Zugriff auf das Postfach erfolgreich war.
Erst danach sollte die Aufgabe für eine regelmäßige automatische Ausführung aktiviert werden. CiviCRM empfiehlt, den Abruf der Rückläufer regelmäßig über die geplanten Aufgaben beziehungsweise den Cronjob der Installation auszuführen.
Eine vollständige Bounce-Konfiguration besteht somit aus drei Teilen:
- einem technischen Postfach für Rückläufer,
- dessen Eintragung als Bounce-Konto in CiviCRM,
- der regelmäßigen Ausführung der Aufgabe „Fetch Bounces“.
6. Besonderheit bei SMTP-Relay-Diensten wie Brevo
Bei der Nutzung eines spezialisierten SMTP-Relay-Dienstes muss zusätzlich geklärt werden, welches System die Rückläufer tatsächlich verarbeitet.
Ein Relay-Dienst kann den von CiviCRM erzeugten technischen Rücksendeweg übernehmen. Er kann den Return-Path aber auch durch eine eigene Adresse ersetzen und die Rückläufer selbst verarbeiten. In diesem Fall erreichen die Fehlermeldungen das in CiviCRM eingetragene IMAP-Postfach möglicherweise nicht.
Brevo unterscheidet selbst zwischen Soft Bounces und Hard Bounces. Adressen, die einen Hard Bounce erzeugen, werden von Brevo automatisch blockiert, damit nicht wiederholt an dauerhaft unzustellbare Adressen gesendet wird. Die entsprechenden Ereignisse können außerdem über Webhooks an andere Anwendungen übertragen werden.
Das bedeutet allerdings nicht automatisch, dass auch CiviCRM von diesem Bounce erfährt. Ohne eine entsprechende Integration kann folgende Situation entstehen:
- Brevo hat eine E-Mail-Adresse wegen eines Hard Bounces blockiert.
- CiviCRM hat die betreffende Adresse nicht als „On Hold“ gekennzeichnet.
- CiviCRM versucht bei einem späteren Mailing erneut, an diese Adresse zu senden.
- Brevo nimmt die Nachricht entgegen, stellt sie aber wegen der eigenen Blockierung nicht mehr zu.
Bei einem SMTP-Relay muss daher geprüft werden, welche der folgenden Lösungen eingesetzt wird:
- CiviCRM erhält die Rückläufer weiterhin über sein eigenes Bounce-Postfach.
- Eine Erweiterung des Relay-Anbieters übermittelt Bounce-Ereignisse an CiviCRM.
- Eine eigene Schnittstelle verarbeitet die Webhooks des Relay-Anbieters und aktualisiert die betreffenden E-Mail-Adressen in CiviCRM.
Die bloße Einrichtung eines beliebigen IMAP-Postfachs beseitigt dieses Problem nicht. Entscheidend ist, dass die tatsächlichen Rückläufer aus dem verwendeten Versandweg in CiviCRM ankommen und verarbeitet werden.
7. Gilt das Bounce-Management für alle E-Mails?
Das im CiviCRM-Kern enthaltene Bounce-Management bezieht sich in erster Linie auf Nachrichten, die über die Komponente CiviMail versendet werden. Dazu gehören Serien-E-Mails, d.h. „Rundschreiben“ wie bspw. Newsletter.
Für andere von CiviCRM erzeugte Nachrichten, beispielsweise:
- Veranstaltungsbestätigungen,
- Zuwendungsbestätigungen,
- Zahlungsbelege,
- geplante Erinnerungen,
- oder andere automatisch erzeugte Systemnachrichten,
steht diese Bounce-Verarbeitung im CiviCRM-Kern nicht in gleicher Weise zur Verfügung. Dafür können zusätzliche Erweiterungen oder die Ereignisverarbeitung des verwendeten Maildienstes erforderlich sein.
8. Muss die Standard-Mailbox sofort eingerichtet werden?
Der grundlegende E-Mail-Versand funktioniert unabhängig davon, ob die Standard-Mailbox konfiguriert ist. CiviCRM ist benutzbar, auch wenn die Standard-Mailbox noch nicht eingerichtet ist. Solange CiviCRM ausschließlich für Kontaktverwaltung, Aktivitäten und einzelne E-Mails verwendet wird, kann die Einrichtung zurückgestellt werden.
Erst vor dem produktiven Versand von Serien-E-Mails über CiviMail sollte geklärt und getestet sein, wie Rückläufer verarbeitet werden.
Die Systemstatusmeldung kann unter Administration > Verwaltungskonsole > Systemstatus ausgeblendet werden. Dadurch wird allerdings keine technische Konfiguration vorgenommen. Die Warnung verschwindet, das Bounce-Management bleibt aber weiterhin unvollständig.
Vor dem ersten produktiven CiviMail-Versand sollte ein eigenes technisches Bounce-Postfach eingerichtet oder eine andere funktionierende Rückübertragung der Bounce-Ereignisse an CiviCRM sichergestellt werden.