Brauche Denkansatz: Mailversand an mehrer 100 Adressen!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brauche Denkansatz: Mailversand an mehrer 100 Adressen!

    Hallo,

    auf meiner Webseite sollen Leute Mails an eine gewisse Auswahl von Usern versenden können. Das ist prinzipiell jetzt mal kein Problem für mich, ich lese die eMail-Adressen aus einer DB aus und in der While-Schleife in der das DB-Resultat abgearbeitet wird steht der mail()- Befehl.

    Nun ist es allerdings so, dass das ganze recht zäh wird wenn aufgrund der Auswahl das ganze an mehrere 100 User versendet wird, insbesondere dann wenn der Text der Mail etwas länger ausfällt.

    Da kann's schon mal vorkommen das dass ganze eine halbe Minute oder länger dauert. Die maximale Ausführungszeit für PHP (die bei Webhosting-Paketen meist bei 30 sek. liegt) ist mir dabei nicht das Problem weil ich einen eigenen Server hab und ich hier ein Limit von 50000 sek. hab . Allerdings bricht mir der Mailversand natürlich ab, wenn der User während das versenden noch läuft einfach den Browser schließt oder auf eine andere Seite wechselt.

    Wie könnte ich erreichen dass in einem solchen Fall trotzdem der Versand weiterläuft?? Am besten wäre es wenn unmittelbar nachdem der User die Mail aus dem HTML-Formular heraus abschickt eine Ok-Seite bekommt und der Versand dann einfach weiterläuft, egal ob der Browser geschlossen wird oder sonst was. Ist das möglich?

    Wenn ihr meint dass ich im Brainstorming besser aufgehoben bin, dann bitte verschieben, aber ich wär der Meinung das die Frage hier auch gut aufgehoben ist.

    Danke

    Quetschi
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    wurde schon so oft besprochen.

    Kommentar


    • #3
      kann ich mir gut vorstellen, aber für das was ich will fällt mir kein richtiger Suchbegriff ein, ansonsten hätt ich die Suche längst benutzt.

      Wenn du mir vielleicht nen Wink mit einem Zaunpfahl geben könntest nach welchem Wort bzw. Wörtern ich suchen soll
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        allein das wort Mailversand sollte schon ein relativ überschaubares Ergebnis liefern.

        Kommentar


        • #5
          ok, bin jetzt mal auf folgendes gekommen:


          PHP-Code:
          exec("php4 ".$DOCUMENT_ROOT."/pfadzum/skript.php > /dev/null 2>&1 & echo $!"); 

          im 'skript.php' kann nun der eigentliche Mailversand stattfinden und soweit ich es bis jetzt testen konnte ist das völlig unabhängig davon ob das aufrufende Script vorzeitig abgebrochen wird oder sonstwas, scheinbar wird das aufrufende Script sogar unabhängig davon ob script.php schon fertig ausgeführt wurde oder nicht einfach weiterabgearbeitet. Das passt mir so schon sehr gut

          Hat nun vielleicht noch einer eine Idee wie ich noch eine Variable an 'script.php' übergeben könnte??

          Hab dafür diesen Thread hier gefunden und auch den darin enthaltenen Link weiterverfolgt, allerdings habe ich das nicht wirklich verstanden, kann das vielleicht jemand mir etwas vereinfacht erklären??

          Gruss
          Quetschi
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            PHP-Code:
            There are two variables you can use while writing command line applications with PHP$argc and $argv
            Bedeutet: übergibst du Argumente an das Shellscript, kannst du diese mit $argc bzw. $argv abfragen...
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              ok, das hab ich jetzt auch begriffen. Vielen Dank schon mal dafür

              jetzt noch eine abschließende Frage:

              Kann ich auch Argumente so ähnlich übergeben als ob ich ein PHP skript mit get aufrufe?? so das dass $_Server["argv"]-Array nicht so aussieht:

              [0] = pfadzumskript.php
              [1] = mein_erstes_argument
              [2] = mein_zweites_argument
              ....

              sondern so:

              [0] = pfadzumskript.php
              ["mein_variablen_name1"] = mein_erstes_argument
              ["mein_variablen_name2"] = mein_zweites_argument
              ....

              oder gehts nur wie im ersten Fall??

              Danke nochmal

              Quetschi


              EDIT:
              hab gerade mit info.php getestet wie $_SERVER["argv"] aussieht wenn man ein paar Variablen übergibt, geht also scheinbar nicht und hat sich somit erledigt.
              Zuletzt geändert von Quetschi; 22.03.2005, 16:31.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar

              Lädt...
              X