Newsletter - Versand über SMTP optimieren

Nutzbar ab: Version

Dieser Artikel beschreibt, wie Sie durch eine einfache Einstellung den Versand von E-Mail-Newslettern beschleunigen.

Systemeinstellungen (Mailserver) - Beispielhaft für Provider Domainfactory
Systemeinstellungen (Mailserver) - Beispielhaft für Provider Domainfactory

Durch eine einfache Einstellung kann der Versand von E-Mail Newslettern beschleunigt werden. Sie müssen lediglich die Anzahl der E-Mails pro Connection zum SMTP-Server begrenzen.

Ab CMS-Version 011.001.363.000 ist die nachfolgende beschriebene Konfigurationseinstellung direkt in der Maske der Systemeinstellungen (Mailserver) möglich. Eine manuelle Bearbeitung der Conf-Datei ist daher nicht mehr erforderlich.

Konfigurationseinstellungen manuell setzen und Erläuterungen

Durch folgende manuelle Konfigurationseinstellung können Sie optional einstellen, wieviele E-Mails pro Verbindung zum SMTP-Server gesendet werden sollen. Setzen Sie hierzu wie in unterem Beispiel angegeben, das Attribut "maxMailsPerConnection" auf z.B. den Wert "490" (Erfahrungswert bei Domainfactory).
Beim Provider Domainfactory ist ab 05.04.2018 ein Limit von 250 E-Mails pro Stunde gesetzt. Ein individuelles Limit kann zur jeweiligen Mailbox direkt bei Domainfactory beantragt werden (z.B. 5000 E-Mails pro Stunde, begrenzt auf bestimmte Dauer (daher auf Wiedervorlage legen für erneutes Setzen!)). Zudem können pro Verbindung maximal 500 E-Mails versendet werden und in der Regel wird ein sogenanntes Rate-Limit gesetzt, das eine "Zwangspause" zwischen dem Versand aufeinanderfolgender Nachrichten setzt.
In beiden Fällen sollte bei Überschreiten eine entsprechende Meldung im E-Mail Client oder versendenen Projekt kommen.
Limit pro Verbindung:
Ist diese Zahl erreicht, wird die Verbindung beendet und es können keine weiteren E-Mails versendet werden. Ein erneuter Verbindungsaufbau ist jedoch möglich, mit welchem dann direkt erneut E-Mails versendet werden können.
Bei immer mehr Mailserverbetreibern geht der Trend aufgrund Blacklisting, etc. dahin, bei einer Vielzahl an E-Mails vom gleichen Absender (z.B. 500), die E-Mails als Spam einzustufen. Daher ist es zu empfehlen, den maximlen Wert nicht auszureizen. Aus diesem Grund sollte der Eintrag in der Conf unterhalb des Limit-Wertes des Providers und auch unterhalb des derzeit allgemeinen Limits liegen (z.B. auf "490").

Diese Einstellung beschleunigt auf diversen Servern (z.B. Domainfactory) den Versand, da der SMTP-Server des Providers aufgrund von Limits nicht zu Verzögerungen führt. Ein Testversand bei Domainfactory war so z.B. mit 5.000 E-Mails in 15 Minuten möglich.

Beispiel: Auszug aus der /weblication/grid5/conf/default.wConf.php zur Mailbegrenzung des SMTP-Servers

<wConf version="10">
  ...
  <newsletter>
    <smtp>
      <server host="smtp.ihre-domain.tld" port="25" userName="" userPass="" timeout="60" useLogin="on" ssl="" maxMailsPerConnection="490" delay="" delayAfterConnection="5"/>
    </smtp>
  </newsletter>
  ...
</wConf>

Beispiel: Auszug aus der /weblication/grid5/conf/default.wConf.php zur Mailbegrenzung des SMTP-Servers von Domainfactory

<wConf version="10">
  ...
  <newsletter>
    <smtp>
      <!-- z.B. bei Domainfactory mit verschlüsseltem Versand (ssl): -->
      <server host="sslout.de" port="465" userName="name@ihre-domain.tld" userPass="Ihr-Mailbox-Passwort" timeout="60" useLogin="on" maxMailsPerConnection="490" delay="" delayAfterConnection="5" ssl="ssl"/>
    </smtp>
  </newsletter>
  ...
</wConf>

Einstellungsmöglichkeiten zum SMTP-Host für Newsletter

Über manuelle Anpassung können in den Systemeinstellungen zur default.wConf.php folgende optionalen Werte gesetzt werden:

  • maxMailsPerConnection
    Angabe als ganze Zahl, wie viele E-Mails pro Verbindung verschickt werden sollen
    (ab CMS-Version 005.056.051.000)

  • delay
    Angabe in Sekunden (0.5 oder 2, etc.), um eine Verzögerung pro E-Mail beim Versand einzustellen (damit Mailserver mit Beschränkung (auf z.B. 40 Mails pro Minute) auch genutzt werden können)
    (ab CMS-Version 7.x)

  • delayAfterConnection
  • Angabe in Sekunden (z.B. 300 (für 5 Minuten)), wie lange gewartet werden soll, nachdem die maximal zu versendenden E-Mails (aus maxMailsPerConnection) abgearbeitet wurden bzw. ein Timeout erreicht ist, bis der nächste Versand gestartet werden soll
    (ab CMS-Version 7.x)


Ein Versand läuft maximal so lange, bis der Wert der php.ini Einstellung max_execution_time erreicht ist.