[Variablen] Geteilter Mailversand

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

  • [Variablen] Geteilter Mailversand

    Ich habe ein klitzkleines Problem, vermutlich nur einen kleinen Denkfehler. Ich arbeite geradeebend an der nächsten Version meines Newsletterscriptes (textbasiert). Die Einträge befinden sich in einer *.php-Datei innerhalb von PHP-Tags und um einem Servertimeout beim Versand zu umgehen, werden x Einträge versendet und dannach wird die Seite erneut geladen und die nächsten Einträge werden versendet. Leider erzeuge ich immer eine Endlosschleife und der Fehler steckt irgendwo im Detail

    PHP-Code:
    $file = file("../entries/mail.php");

    foreach($file as $line => $email)
    {
      $email = str_replace("\n", "", $email);

      if($index <= $index_max && $index >= $index_start)
      {
        if($email != "?>" && $email != "<?php")
        {
          //Mailversand
        }
        $index++;
    } else header("location: index.php?action=send_newsletter&textarea=$textare&subject=$subject&mailmodus=$mailmodus$archiv=$archiv&attachment=$attachment&index=$index&sid=$sid");
    $index = Variable zur Durchnummerierung der einzelnen Einträge
    $index_max = $index + Versandintervall
    $index_start = Wert der Index bei jedem Laden der Seite zugewiesen wird

    Danke,
    Stephan
    Zuletzt geändert von Crake; 29.08.2003, 23:59.
    [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
    [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

  • #2
    wozu zählst du den index, wenn du die Datei durch foreach jedes mal von vorne abarbeitest?
    hopka.net!

    Kommentar


    • #3
      Nach Erreichen des Wertes $index_max soll die Seite erneut geladen werden, dabei wird der Variable wieder der Wert vom letzten Durchlauf zugewiesen.
      [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
      [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

      Kommentar


      • #4
        aber du verschickst doch trotzdem immer wieder die gleichen mails, weil du ja immer nur den Anfang von deiner mail.php Adress-Datei abarbeitest, bis dein max-index erreicht ist und dann liest du die Datei neu ein und machst das gleiche nochmal.
        hopka.net!

        Kommentar


        • #5
          So weit war ich inzwischen auch schon, bloß des Rätsels Lösung blieb mir verwährt.
          [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
          [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

          Kommentar


          • #6
            Tja, dann hast du ja schonmal den Fehler.

            Mein Tipp ist, das Array ($file) mit ner normalen For-Schleife statt mit Foreach abzuarbeiten, und dann kannst du mit $file[$index] auf die richtige Zeile zugreifen. Wenn du die max. Durchläufe für eine Scriptausführung erreicht hast, dann gibst du den index über die URL weiter und machst beim nächsten durchlauf da weiter, wo du aufgehört hast.
            hopka.net!

            Kommentar


            • #7
              Habs anderweitig gelöst

              PHP-Code:
              $file = file("../entries/mail.php");
              foreach($file as $line => $email)
              {
                $email = str_replace("\n", "", $email);

                if($line == $index)
                {
                  if($email != "?>" && $email != "<?php\r")
                  {
                    mail("$email","Betreff","Nachricht","From: Stephan <webmaster@programmers-club.de>","-fwebmaster@programmers-club.de");
                  }
                  $index = $line + $intervall;
                  header("location: index.php?action=send_newsletter&textarea=$textare&subject=$subject&mailmodus=$mailmodus$archiv=$archiv&attachment=$attachment&file=$file&index=$index&sid=$sid");
                }
              }
              [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
              [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

              Kommentar


              • #8
                Ich würde es aber auch wie Hopka mit ner For-Schleife machen, jedesmal das Array $file ganz zu durchlaufen ist doch überflüssig und kostet nur Zeit.

                Kommentar


                • #9
                  Original geschrieben von blackhole
                  Ich würde es aber auch wie Hopka mit ner For-Schleife machen, jedesmal das Array $file ganz zu durchlaufen ist doch überflüssig und kostet nur Zeit.
                  Also momentan will ich das Script ersteinmal fertig kriegen. Ein Perdormance-Upgrade wird sowieso vor Fertigstellung druchgeführt.
                  [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
                  [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

                  Kommentar

                  Lädt...
                  X