Stefan Muenz: massenmails mit php

Beitrag lesen

Hallo Coder,

ich mach grad ein newsletterscript und da werden ca. 3 000 mails verschickt. da ich aber irgendwie nicht glauben kann, dass php das in einer schleife packt würde ich mal gerne von euch wissen wieviel php denn in einer schleife packt.

Besser, du laesst so was von einem Script erledigen, das zu betiebsarmen Server-Zeiten (spaete Nacht bis frueher Morgen normalerweise) diesen Job ausfuehrt. So ein Script sollte auch nicht vom Web-Browser aufgerufen werden und keine HTML-Ausgaben an Web-Browser machen, sondern am besten als von der Shell ausgefuehrtes Script seine Ergebnisse in eine Log-Datei schreiben. Die Zeitpunkte zum Ausfuehren des Scripts koennen in der cron-Tabelle des Servers festgelegt werden. PHP ist vielleicht nicht gerade optimiert fuer diese Art von Scripts, aber wenn du dich an andere Sprachen nicht ran traust, geht es zur Not sicherlich auch damit - eine wichtige Lektuere zu diesem Thema ist auch http://de.php.net/manual/de/features.commandline.php.

ich habe glaube ich hier schonmal gelesen, dass ich das ganze per cc und bcc machen soll, aber dann wird doch der header der mail nachher riesengroß oder was meint ihr?

Bei cc sehen die Empfaenger die anderen Empfaenger, bei bcc nicht. Zumindest das solltest du dabei bedenken. Bei 3000 Mails ist es dringend zu empfehlen, das Ganze in Portionen von ca. 20 bis 50 Empfaenger pro Mail aufzusplitten - ich weiss allerdings nicht, wie viel to-, cc- und bcc-Daten typische SMTP-Server pro Mail zulassen, oder ob es da empfohlene Grenzen gibt.

Ausserdem ist es moeglicherweise besser, im Script eine direkte Socket-Verbindung zum Mailserver aufzubauen und die Protokollkommuniktation mit dem Mailserver selber im Script abzuwickeln, als auf die Mail-Funktion von PHP zu vertrauen. Die direkte Serverkommunikation erlaubt auf jeden Fall mehr Kontrolle und das Abbrechen der Versandschleife oder das Ueberspringen eines Schleifendurchlaufs bei Problemen mit dem Mailversand.

Ein interessantes Dokument zu dem Thema ist auch http://www.php-center.de/faq/faq-mail.html

viele Gruesse
  Stefan Muenz