Zum Inhalt springen
Termin vereinbaren (öffnet in einem neuen Fenster)

E-Mails automatisch mit phpList versenden

phpList kann Kampagnen planen – aber nur versenden, wenn regelmäßig jemand nachfragt. Dafür ist der Cronjob da.

Zuletzt geprüft: 5 Minuten Lesezeit

Warum es ohne Cronjob nicht geht

phpList kann Kampagnen zeitgesteuert versenden. Nur passiert von selbst nichts: Die Software läuft nicht im Hintergrund, sondern nur, wenn jemand sie aufruft.

Ein Cronjob ist genau dieser Jemand – eine Aufgabe auf dem Server, die in festen Abständen eine Adresse aufruft. Ruft er stündlich die Warteschlange auf, gehen geplante Mails mit höchstens einer Stunde Verzögerung raus.

Die englische Anleitung des Herstellers steht im phpList-Handbuch.

Der Aufruf, der die Warteschlange abarbeitet, sieht so aus:

https://deine-domain.at/lists/admin/?page=processqueue&secret=DEIN_SECRET

Zwei Dinge sind zu ersetzen:

  • Die Adresse – dorthin, wo deine phpList-Installation liegt. Bei manchen Installationen heißt der Ordner nicht lists.
  • Das Secret – zu finden in phpList unter Config → Settings → Security, dort als „remote processing secret". Ohne diesen Schlüssel weist der Aufruf sich nicht aus und wird abgelehnt.

Ob der Link funktioniert, prüfst du am schnellsten, indem du ihn in den Browser eingibst. Es erscheint dann eine Meldung, ob Nachrichten zum Versand bereitstehen – und gegebenenfalls, dass sie gerade versendet wurden.

Das Secret ist ein Passwort

Es steht in der Adresse und landet damit in Serverprotokollen und im Browserverlauf. Verwende es nirgends sonst, gib die Adresse nicht weiter, und wechsle das Secret, wenn du sie irgendwo eingefügt hast – etwa in einem Forumsbeitrag zur Fehlersuche.

Den Cronjob anlegen

Mit Oberfläche

Die meisten Webhoster bieten dafür eine Verwaltungsseite. Dort trägt man den Zeitpunkt und den Befehl ein – oft genügt die Adresse allein.

Die Cronjob-Verwaltung eines Webhosters mit einer Tabelle aus drei Einträgen. Der aktive Eintrag zeigt den Befehl 00 */2 * * * /usr/bin/php gefolgt von der Adresse admin/?page=processqueue mit angehängtem Secret
Ein eingerichteter Cronjob – hier alle zwei Stunden zur vollen Stunde

Ohne Oberfläche, über die Kommandozeile

Wenn du Zugriff auf die Konsole hast, legst du den Eintrag mit crontab -e selbst an. Eine Zeile, fünf Zeitangaben, dann der Befehl:

# Minute Stunde Tag Monat Wochentag   Befehl
0 * * * *   /usr/bin/php -q /pfad/zu/lists/admin/index.php -p processqueue -c /pfad/zu/lists/config/config.php

Oder, wenn der Aufruf über die Adresse laufen soll:

0 * * * *   curl -s "https://deine-domain.at/lists/admin/?page=processqueue&secret=DEIN_SECRET" > /dev/null

Die fünf Sterne stehen für Minute, Stunde, Tag, Monat und Wochentag. 0 * * * * heißt: jede Stunde zur vollen Stunde. */15 * * * * hieße: alle fünfzehn Minuten.

Wie oft es sinnvoll ist, hängt nur an einer Frage: Wie lange darf eine geplante Aussendung höchstens warten? Der Abstand sollte kürzer sein als diese Zeit. Manche Anbieter setzen ein Mindestintervall – zwei Stunden sind nicht unüblich; nachlesen lohnt vor dem Einrichten.

Wenn nichts ankommt

Vier Ursachen decken fast alle Fälle ab:

  • Das Secret stimmt nicht. Im Browser aufrufen – kommt eine Fehlermeldung statt der Statusanzeige, liegt es daran.
  • Der Cronjob läuft nicht. Die meisten Verwaltungsoberflächen führen ein Protokoll. Steht dort kein Eintrag, wurde die Aufgabe nie ausgeführt.
  • Die Kampagne ist nicht freigegeben. Ein Entwurf wird nicht versendet, auch nicht mit dem besten Cronjob.
  • Das Versandlimit greift. phpList begrenzt, wie viele Nachrichten je Durchlauf rausgehen. Bei einer großen Liste dauert der Versand dann mehrere Durchläufe – das ist kein Fehler.
Keine Sorge wegen Überlastung

Wird ein zweiter Durchlauf gestartet, während der erste noch läuft, erkennt phpList das und bricht den neuen ab. Es ist immer nur ein Versandvorgang aktiv. Das ist auch nötig, damit die eingestellten Versandlimits eingehalten werden.

Anrufen Website prüfen Anfragen

Darstellung

Diese Einstellungen gelten nur auf diesem Gerät und werden lokal in deinem Browser gespeichert. Es wird nichts übertragen.

Farbschema
Schriftgröße
Lesbarkeit
Erklärung zur Barrierefreiheit