viele viele Mails versenden
Angelika
- php
Hallo!
Hab hier die Aufgabe für einen Webmaster, der wirklich eine neunstellige Zahl an eingetragenen Newsletter-Empfängern hat, einen Mailversand zu realisieren, der auf PHP basiert anstatt eine eigenständige Software zu sein, die jedes mal einen Export der Empfängerdaten erfordert(e).
Nun werden also alle Mailadressen aus der mysql DB der angemeldeten Benutzer, die Newsletter-Empfang aktiviert haben, step by step, eine nach der anderen abgefragt.
An dieser Stelle habe ich derzeit mail(...)or...; stehen. Der Versand erfolgt über einen lokalen SMTP-Server. Nun weiß ich jedoch nicht, mit welcher Dauer zu rechnen ist und ob das Script das überhaupt packt...
Wartet mail jedesmal, bis die Mail tatsächlich raus ist, oder teilt sie nur mal eben dem SMTP-Server mit, was er in der nächsten Zeit zu tun hat?
Wenn letzteres der Fall ist, wäre es doch gar nicht allzudumm, zu Beginn dem Script mitzuteilen, dass es nicht abbrechen soll, selbst wenn das Browser-Fenster geschlossen würde: ignore_user_abort. dann noch die execution_time auf max und es sollte irgendwann fertig werden.
alternativ dazu habe ich mir überlegt, dass, wenn man alle Empfänger in BCC eintragen würde, gaz schön viel schief gehen kann. Es könnte irgendeine länge für den Header/BCC überschritten werden. Unsauber angegebene Mailadressen könnten einen Umbruch oder sonst irgendwas unnützes hervorrufen und ebenfalls den Header stören.
Was wären Eure Erfahrungswerte oder gibt es ein gutes Manual hierfür? php.net hat leider "nur" die Standard-Doku zu mail() wie für jede Funktion... Das Thema Massenmail-Versand wird nicht eigens besprochen.
Danke für Informationen
Ich habe schon von mehreren Tausend Mails gehoert, was zu klappen scheint, warum dann auch net eine Million.
Würde aber so eine art
try
{
}
catch
{
}
einbauen, falls es sowas bei PHP gibt.
Ich habe schon von mehreren Tausend Mails gehoert, was zu klappen scheint, warum dann auch net eine Million.
Du meinst mail()s oder worauf bezieht sich die Antwort genau?
Hallo Angelika,
neunstellig heisst mindestens 100 Millionen, also jeder 60te Mensch weltweit, egal ob mit oder ohne Computer, Säugling, Greis, nur usbekisch sprechend oder, oder. Selbst unter Berücksichtigung der Möglichkeit, dass viele User mehrere Mailadressen besitzen, liegt der Verdacht, dass Du einen Spammailer schreiben willst oder musst, schon recht nah.
Von daher wirst Du hier wohl eher nicht auf Hilfe hoffen können.
Gruß
Andree
Hallo.
Muss mich entschuldigen. neunstellig ist nicht die Anzahl der Empfänger sondern Anzahl der Mails pro Monat. Dazu gehören verschiedenste Dienste und Benachrichtigungen, die User in jedem Fall selbst verlangen zu haben.
Moin!
Muss mich entschuldigen. neunstellig ist nicht die Anzahl der Empfänger sondern Anzahl der Mails pro Monat. Dazu gehören verschiedenste Dienste und Benachrichtigungen, die User in jedem Fall selbst verlangen zu haben.
Angenommen, deine Anzahl von 100 Millionen Mails (100.000.000 ist neunstellig) pro Monat stimmt. Dann sind das 3,3 Millionen Mails pro Tag, 138 Tausend Mails pro Stunde, oder auch über 38 Mails pro Sekunde!
Da nicht anzunehmen ist, dass die Mails über 24 Stunden gleichverteilt versendet werden, sondern es die üblichen Schwankungen zwischen Tag und Nacht gibt, ist anzunehmen, dass zu Stoßzeiten auch wesentlich mehr als 38 Mails pro Sekunde verschickt werden, mußmaßlich dürften es vielleicht auch mal die zehnfache Menge sein.
Solche Mailmassen, egal ob verlangt oder unverlangt generiert, sind mit PHP-Skripten und Browserprogrammierung nicht mehr zu verarbeiten. Punkt.
Organisier dir professionelle Hilfe, die performante, spezialisierte Programme in C schreibt, um die Aufgabe zu erledigen! Die vor allem hinreichende Erfahrung in der Programmierung von Serverprozessen hat, denn mir scheint unabdingbar, dass mindestens ein dauernd laufender Mailkontrollprozess auf dem Server (oder besser: DEN Servern!) läuft, um alle Vorgänge zu kontrollieren.
So Dinge wie "Mail unzustellbar" ist bei derartigen Massen von Mail nämlich auch noch zu berücksichtigen, ansonsten generierst du dir immer immer mehr Traffic und Aufgaben, die sinnlos sind, weil die Adresse nicht mehr existiert.
- Sven Rautenberg