Websites und Anwendungen

phpList für den Versand von E-Mails und Newslettern einrichten

Geprüft am 7 Min. Lesezeit SMTP Zustellbarkeit

phpList ist ein Werkzeug, um Newsletter und E-Mails an Abonnentenlisten zu senden. Sie können es mit ein paar Klicks über Softaculous installieren.

Frisch installiert funktioniert es, sendet mit der Standardkonfiguration aber über die PHP-Funktion mail() und alles auf einmal. Dadurch landen die E-Mails im Spam, andere Server lehnen sie ab oder unsere Systeme blockieren sie, weil sie ein ungewöhnliches Volumen erkennen. Diese drei Einstellungen verhindern das.

Alle nehmen Sie in der Datei config/config.php von phpList vor (im Ordner der Installation, normalerweise lists/config/config.php). Bearbeiten Sie sie im Dateimanager von cPanel. Wenn eine Zeile mit // beginnt, ist sie deaktiviert: Entfernen Sie diese Zeichen, um sie zu aktivieren. Wenn in Ihrer config.php eine der Zeilen fehlt, fügen Sie sie am Ende hinzu.

1. Über authentifiziertes SMTP senden

Mit Benutzer und Passwort eines E-Mail-Kontos zu senden statt mit der PHP-Funktion mail, ist der erste Schritt, damit Ihre Sendungen glaubwürdig sind.

Suchen Sie diese Zeilen:

// To use a SMTP server please give your server hostname here, leave it blank to use the standard
// PHP mail() command.
define('PHPMAILERHOST', '');

// if you want to use smtp authentication when sending the email uncomment the following
// two lines and set the username and password to be the correct ones
//$phpmailer_smtpuser = 'smtpuser';
//$phpmailer_smtppassword = 'smtppassword';

Und ändern Sie sie so:

define('PHPMAILERHOST', 'localhost');
$phpmailer_smtpuser = 'boletines@tudominio.com';
$phpmailer_smtppassword = 'contraseña-del-buzon';
  • PHPMAILERHOST: der Mailserver. Da phpList im selben Hosting liegt, tragen Sie localhost ein.
  • $phpmailer_smtpuser: ein E-Mail-Konto der Domain, das Sie vorher unter cPanel > E-Mail-Konten angelegt haben.
  • $phpmailer_smtppassword: das Passwort dieses Kontos.

Wenn Sie über einen externen Anbieter senden, tragen Sie dessen Server in PHPMAILERHOST ein und fügen Sie seinen Port und seine Verschlüsselung mit define('PHPMAILERPORT', 587); und define('PHPMAILER_SECURE', 'tls'); hinzu.

2. SPF und DKIM prüfen

Mit diesen DNS-Einträgen kann der empfangende Server prüfen, ob Ihr Server berechtigt ist, im Namen der Domain zu senden. Unsere Systeme richten sie standardmäßig ein, aber prüfen Sie, ob sie aktiv sind, vor allem, wenn die DNS der Domain außerhalb von Hostsuar liegen.

3. Die Sendungen in Pakete aufteilen

Unsere Server begrenzen aus Sicherheitsgründen die Zahl der E-Mails, die jede Domain pro Stunde senden kann. Das Standardlimit liegt bei 700 E-Mails pro Stunde, genug für die normale Nutzung (wir können es erhöhen, wenn es um regelmäßige Nutzung und nicht um Massenversand geht). Wenn phpList mehr auf einmal sendet, schlagen die über dem Limit fehl.

Deshalb müssen Sie phpList so einrichten, dass es die Kampagne in stündliche Pakete aufteilt, bis sie vollständig versendet ist. Außerdem verbessert ein schrittweiser Versand die Reputation Ihrer Sendungen.

Suchen Sie diese Zeilen:

// define the amount of emails you want to send per period. If 0, batch processing
// is disabled and messages are sent out as fast as possible
define('MAILQUEUE_BATCH_SIZE', 0);

// define the length of one batch processing period, in seconds (3600 is an hour)
define('MAILQUEUE_BATCH_PERIOD', 3600);

// to avoid overloading the server that sends your email, you can add a little delay
// between messages that will spread the load of sending
define('MAILQUEUE_THROTTLE', 0);

Und ändern Sie sie so:

define('MAILQUEUE_BATCH_SIZE', 500);
define('MAILQUEUE_BATCH_PERIOD', 3600);
define('MAILQUEUE_THROTTLE', 0.2);
  • MAILQUEUE_BATCH_SIZE: E-Mails pro Paket. Mit 500 lassen Sie Spielraum für die normalen E-Mails der Domain und für andere Anwendungen (Formulare der Website, Shop …), die zum selben Limit zählen.
  • MAILQUEUE_BATCH_PERIOD: Dauer jedes Zeitraums in Sekunden. Mit 3600 wird ein Paket pro Stunde versendet.
  • MAILQUEUE_THROTTLE: Pause in Sekunden zwischen zwei E-Mails. Mit 0,2 ist der Versand weniger intensiv.

Sie können diese Werte anpassen, solange das Paket zusammen mit den übrigen E-Mails der Domain das Stundenlimit nicht überschreitet.

Die Warteschlange automatisch verarbeiten

phpList sendet nur, solange jemand die Warteschlange verarbeitet. Wenn Sie das im phpList-Bereich tun, müssen Sie die Seite stundenlang offen lassen. Besser ist ein geplanter Auftrag unter cPanel > Cron-Jobs, der sie alle paar Minuten verarbeitet, zum Beispiel alle 15:

*/15 * * * * php /home/USUARIO/public_html/lists/admin/index.php -p processqueue -c /home/USUARIO/public_html/lists/config/config.php > /dev/null 2>&1

Ersetzen Sie USUARIO durch Ihren cPanel-Benutzernamen und passen Sie den Pfad an, wenn phpList nicht in public_html/lists liegt. Damit es per Cron ausgeführt werden kann, muss in config.php diese Zeile aktiv sein (so steht sie in der Referenzkonfiguration von phpList):

$commandline_users = array();

Mehr Details zu geplanten Aufgaben finden Sie in So richten Sie Cronjobs ein.

Halten Sie Ihre Kontaktliste sauber

In Listen einer gewissen Größe gibt es immer Adressen, die zurückkommen: volle Postfächer, Domains oder Benutzer, die nicht mehr existieren. Wenn sich die Rückläufer wiederholen, senken sie die Reputation Ihrer übrigen Sendungen, und bei einer hohen Zahl können unsere Sicherheitssysteme den Versand als verdächtig blockieren.

Wenn Sie einen Rückläufer erhalten, sehen Sie sich den Fehler an. Wenn die Adresse nicht existiert, entfernen Sie sie aus der Liste. Ein volles Postfach ist vorübergehend, und es kann genügen, abzuwarten. Stellen Sie außerdem sicher, dass der Abmeldelink funktioniert.

Für große Mengen ein spezialisierter Dienst

Unser E-Mail-Dienst ist für die Nutzung durch ein Unternehmen mit gleichmäßigem Aufkommen gedacht. Massenversand ist etwas anderes: große Mengen E-Mails in kurzer Zeit, die mehrere Server und IPs erfordern, um die Last zu verteilen, ohne Reputation zu verlieren. Dafür gibt es spezialisierte Dienste, die Sie mit jedem Hosting nutzen können, zum Beispiel:

Viele erlauben, weiter phpList zu verwenden und über ihr SMTP zu senden: Es genügt, ihre Daten in Schritt 1 einzutragen.

Mehr Informationen in Probleme und Lösungen beim Massenversand von E-Mails.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.