PHP Mail-Massenversand über PHPMailer(SMTP) stückeln?

Gollum

Loswetten.de
ID: 96060
L
20 April 2006
2.327
188
Hi zusammen,

mehrere hundert bzw. tausend Mails (z.b. Newsletter) über die php-Funktion mail() zu versenden ist ja nicht so toll und bringt ja oft Probleme mit sich. Deshalb hab ich mich mal umgesehen und möchte nun mit dem Skript PHPMailer über SMTP die Mails versenden, was ich auch schon erfolgreich getestet habe.

Nun meine Frage: Ist es dazu noch ratsam dem Mailversand zu stückeln, immer nur 100-200 Mails alle 5min. auf einmal zu versenden? Wenn ja, welche Stückelung und Intervalle wären ratsam?

Vielen Dank schonmal für eure Ratschläge und Tipps.

Gruß Gollum
 
Ist im Prinzip doch egal?! Die Mails werden sowieso nicht direkt rausgeschickt sondern landen in der Mail-Warteschlange und werden nach und nach abgearbeitet. Ob du die Warteschlange nun direkt komplett füllst oder nur alle 5 Minuten, ist relativ egal.
Einziger Vorteil: Du kannst auch währenddessen eigene Mails schicken, die ansonsten wohl am Ende der Warteschlange landen würden und entsprechend verzögert verschickt werden.

Vielleicht hat aber jemand anderes andere Einwände.
 
Tipp: Boardsuche ;) - Zum Thema Massenmail über PHP gibts viele Themen.

Antwort is immer: Alle Mails in die DB schreiben und einen Cronjob ranlassen, der die Mails "abhakt". Keine feste Anzahl. Soweit, wie er eben kommt. Is Schluss, warten die restlichen Mails eben drauf, dass der Cronjob das nächste Mal wieder weitermacht.
 
Vorteil vom Cronjob ist, er belastet nicht das normale versenden von Mails.
Der Cronjob kann ebenfalls eine PHP Datei sein, welche ein Management enthällt, wieviele Mails (Stückelung) verschickt werden sollen...

Sinnvoll wäre doch einen RSS Newsfeed von den leuten abonieren zu lassen, um dem Mailaufkommen vno Newslettern im Internet ein wenig entgegenzutreten.

(Datenvolumen im Internet ist sicherlich 30-50% vom Datenaufkommen, wo auch Spammails enthalten sind)
 
vielen Dank für eure Anworten.

Jetzt hätte ich noch eine andere Frage:
Ich beim Testen nun sehr viele "Undelivered Mail Returned to Sender" Emails zurückbekommen, da es anscheinend einige Emailadressen nicht mehr gibt.

Nun würde ich diese am liebsten aus der Datenbank austragen, damit sie beim nächsten Mal keine Emails mehr erhalten. Hat da jemand eine Idee?


Gruß Simon
 
Wenn die Mails immer im selben Format zurückkommen (vermutlich haben die ne spezielle Kennzeichnung vom Server in den Headern drin; kenn ich mich aber nicht damit aus), kannst du mit PHP dein Postfach durchsehen, derartige Mails lesen, die eMail-Adresse aus dem Verteiler entfernen/als "existiert nicht mehr" kennenzeichnen und dann ggf. die zurückgekommene Mail gleich automatisch löschen.

Guck dir dazu die PHP-Funktionen an:
https://de2.php.net/imap