Firebrain: Mail an 10.000 Leute schicken...

HI Folks,

ich mach grad ne applickation wo an einer Stelle an ca. 10.000 Leute aus ner Datenbank nen Newsletter verschickt werden soll.

Ich hab mir gedacht ich hol mit SQL-"LIMIT" immer die nächsten 100 Leute und lass das Script sich dann wieder selber aufrufen mit nem Parameter, der sagt mit welchen nächsten 100 er weiter machen soll, solange bis eben alle durch sind.

Bei so vielen mails hab ich halt irgendwie Sorge, dass php (ich komm an die php.ini nicht ran) wegen nem timeout oder so abricht, oder sonst was komisches passiert.

Hat jemand vielleicht Erfahrung mit sowas und kann mir sagen, ob ich auf dem Holzweg bin, oder nicht ?

Gruss & Danke

  1. Das riehcht nach Spam

    nutze einen dienstleister.....wie z.b. e-circle

    gruß tschwarz

    1. ne nix spam, das ganze ist total sauber mit Bestellung usw...

      das is nur ein Gewinnspiel und die Leute die sich registriert haben und wollen bekommen Nachricht über die nächste Runde (max 7 Mal, zeitlich begrenzt)

      ich möchte eigentlich deswegen keinen Aufstand mit nem teuren Dienstleister machen ;-)

      1. Also ich weiss ja nicht welche Maildienst Du damit ansprichst.
        Aber 10 000.- Mails zu versenden, mache ich über Asyncrone Lösungen.
        Dabei würde ich eine seperates Script verwenden, welches im hintergrund eine Logdatei erzeugt. -> Bei einem Fehler dort die letzte versendete mail einträgt.

        Deine Applikation läuft gleich brav weitr und wenn es mit dem mailen nicht geklappt hat, schick dir selber eine mail.

        Gruss Matze

        1. thanx matze

          Aber 10 000.- Mails zu versenden, mache ich über Asyncrone Lösungen.

          --> was genau meinst du mit Asynchon ?

          Dabei würde ich eine seperates Script verwenden, welches im hintergrund eine Logdatei erzeugt. -> Bei einem Fehler dort die letzte versendete mail einträgt.

          --> ja, das hab ich mir auch so gedacht mit logfile, separatem Skript und Fehlermeldung bei ungueltigen Adressen und so...

          Deine Applikation läuft gleich brav weitr und wenn es mit dem mailen nicht geklappt hat, schick dir selber eine mail.

          --> Aber wie würdest du das Problem mit dem PHP-Timeout lösen ?
          --> DAS macht mir nämlich am meissten Sorgen...

          GREEZ

          Firebrain

          1. Servus,

            das meinte ich mit asyncron,
            syncron bedeutet, Du wartest bis Du eine Rückmeldung bekommst.
            Asyncron startest Du einen neuen Prozess unabhängig vom alten.
            Das müsste mit &exec oder so gehen.
            Schau mal in der PHP Doku nach, wie man externe Scripte usw. ausführt.

            Unter püerl gibt es einen befhel, mit dem man einen witeren Prozess starten kann und das Script dann weiter macht und nicht auf das andere wartet.

            Gruss Matze

            1. Holladiewaldfee,

              Unter püerl gibt es einen befhel, mit dem man einen witeren Prozess starten kann und das Script dann weiter macht und nicht auf das andere wartet.

              fork

              Den gibt es unter PHP auch, allerdings nur wenn man PHP als Scriptinterpreter und nicht als Webserver-Modul installiert hat und die Erweiterung explizit mit eingebunden hat (--enable-pcntl).

              s.h. auch:
              http://www.php.net/manual/en/ref.pcntl.php
              http://www.php.net/manual/en/function.pcntl-fork.php

              Ich habe auch mit genau dieser Erweiterung ein Script zum Versenden von eMails geschrieben. Der Hauptprozess koppelt einen Nebenprozess ab, der zumindest halbwegs ohne TimeOut läuft (set_time_limit(0), http://de.php.net/manual/en/function.set-time-limit.php). Der Hauptpropzess läuft weiter und kümmert sich nicht im geringsten mehr um den Kindprozess. Dieser verarbeitet die eMail-Schlange und beendet sich dann. Bei Fehlern erzeugt er einen Eintrag in einer Log-Datei und schickt mir selbst nochmal eine eMail.

              Ciao,

              Harry
               (Ha? Was ist an diesem Posting unsauber?)

              --
                Herbst ist Wanderzeit!
                http://harry.ilo.de/projekte/berge/
              1. Thanx Harry fuer die sehr ausfuehrliche und interessante antwort !!!

                firebrain

                1. Hallo Firebrain,

                  Ist Dir aufgefallen, dass Deine eigene Webpräsenz nicht richtig validiert: http://validator.w3.org/. Als Webgestalter solltest Du das drauf haben!

                  Heiner

                  1. Hallo Firebrain,

                    Ist Dir aufgefallen, dass Deine eigene Webpräsenz nicht richtig validiert: http://validator.w3.org/. Als Webgestalter solltest Du das drauf haben!

                    Heiner

                    ey Heiner,

                    thanx 4 hinweis, allerdings hat mich in vielen Jahren noch nie jmd. danach gefragt...

                    warum findest du das so wichtig ?

                    1. Seit gestern läuft hier eine interessante Diskussion, die Deine Frage vielleicht beantwortet: [pref:t=60063&m=337596].

                      Heiner

      2. hi,

        das is nur ein Gewinnspiel und die Leute die sich registriert haben und wollen bekommen Nachricht über die nächste Runde (max 7 Mal, zeitlich begrenzt)

        die für glücksspiel laut gesetz notwendige lizenz kannst du vorweisen ...?

        gruss,
        wahsaga