wie verschicke ich einen newsletter

fishguts

Erfahrenes Mitglied
ich hab vor längerem ein newsletter-script geschrieben
vor einigen wochen bekam ich vom webmaster einer grösseren website eine mail, dass er mein script verwendet und soweit sehr zufrieden ist :)
gestern bekam ich aber wieder eine mail von ihm, in der er mir schrieb, dass es grössere probleme beim versand des ersten newsletters gab
ich hatte mein script bisher nur mit wenigen abbonenten getestet - nicht mit mehr als 300
das problem lag darin, dass nur etwa die ersten 100 in der liste den newsleter prblemlos erhalten haben, bei den ürbigen fehlte der gesamte inhalt :(
ausserdem dauerte es, dem webmaster nach, 14 stunden, bis alle mails verschickt waren - das gibts also definitiv nen grösseres problem ...

ich hab mir damals, als ich das script geschrieben habe, nicht lange gedanken über die technik gemacht, mit der ich die mails verschicke
habs dann so gelöst
PHP:
$html = "From: $sender <$sendermail>\n";
$html .= "Content-Type: text/html\n";
$html .= "Content-Transfer-Encoding: 8bit\n";

while ($row = MYSQL_FETCH_ARRAY($res))
{
     $rcpt = $row[mail];
     $inhalt = stripslashes($inhalt);
     $inhalt = nl2br($inhalt);

     mail($rcpt, $betreff, $inhalt, $html);
}
relativ simpel, gell
wie würdet ihr den newsletter verschicken, wenn's so probleme gibt?
danke für eure hilfe
 
bei vielen abonnenten kriegst du erstmal script timeouts, dann kommt sendmail nicht hinterher mit dem mailverschicken und die mail-queue wird immer voller ...

besser:
mails nicht ueber die php mail funktion verschicken, sondern direkt ueber SMTP, entlastet den server und spart ressourcen... dauernd tut das aber trotzdem recht lange mit php, also entsprechende script-timeouts runtersetzen oder den newsletter gestückelt verschiken ...

in java mit multithreading ist sowas schon gleich viel schoener und schneller ;)
 
aber sind 14 stunden ne reelle zeitangabe, wenn ein script nur einen newsletter an 300 abbonenten verschicken soll?
du sagts, ich sollte den newsletter besser direkt über smtp verschicken, wie genau muss ich anstellen?
 
14 std fuer 300 ist vielleicht ein bisschen viel, kommt ja aber auch auf den rechner und die leitung drauf an ...

ich verschicke in einem script in einer nacht ca. 5000 mails und die sind morgens allesamt draussen, vielange genau der job laeuft weiss ich gerade nicht ...

smtp ? socket oeffnen und losschicken ;)
ne, such dir ne smtp-klasse von hotscripts.com, dort gibts jede menge.

aber wenn du eh nur "sowenig" abonnenten hast und das nicht in naechster zeit unglaublich viel mehr werden, ist es den aufwand vielleicht nicht wert, sollte schon klappen ;)
das einzige was du machen solltest, mit set_time_limit() die laufzeit deines scriptes ein wenig hoeher setzen ...
 
Zuletzt bearbeitet von einem Moderator:
Zurück