Mit PHP E-Mails verzögert verschicken

Schumiel

Erfahrenes Mitglied
Hallo,

ich möchte gern E-Mails per PHP verschicken. Scripte gibt es ja genug, wenn man danach sucht.

Nun möchte ich aber, das wenn ich die php-Datei aufrufe, die Mails verzögert verschickt werden. Das heißt, das er in einem schub 100 Mails sendet und in 10 Sekunden die nächsten 100 Mails, ohne einen neuen Aufruf der Seite zu machen.

Alle Daten werden per MySQL abgefragt und sollen dann rausgeschickt werden.

Weiß jemand, welche Quelle mir eine Lösung bietet?
 
Wie man Mails verschickt sagst du selber dazu gibts etliche Tuts.
Du könntest eine Schleife machen die jeweils die nächsten 100 Daten aus der DB holt und per mail abschickt. Dann einfach ein sleep(10); und die nächsten Daten holen usw.
 
CronJob heißt das Zauberwort für die 10 Sekundenregel und in PHP müsste eben eine ordentliche Queue programmiert werden.

Alles andere ist Gefrickel und sollte vermieden werden.
 
Per JavaScript eine URL aufrufen mit dem Offset für die DB, den du dann immer erhöhen kannst. Das aufgerufene Script holt die Daten und versendet die E-Mails, so läufst du nicht in einen Timeout.
 
Joe, das heißt, geht eine DB-Abfrage beispielsweise 5 Sekunden lang und schicke die Mail raus, kann ich ohne Sorge sleep(10); einstellen?
 
Nein, [phpf]sleep[/phpf] sollte meiner Meinung nach nicht verwendet werden, da es das Skript vom Abschließen verhindert und du somit wahrscheinlich in die max_execution_time reinläufst. Dann lieber Radhads oder meinen Vorschlag umsetzen.
 
Zurück