Haufenweise mails verschicken

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

  • Haufenweise mails verschicken

    folgendes script habe ich mir gebastelt :

    PHP-Code:
     <?php 
      
     
    include('smtp.php'); 
     
    $smtp = new SMTP'xxxxxxx''xxxxxxxx''xxxxxxxx' ); 
      
     
    $data file_get_contents('mailadresse.txt'); 
     
    $mails explode(';'$data); 
     foreach(
    $mails AS $num => $mail
     
    $smtp->send( array($mails), 'Testnachricht''Test1' ); 
     
    sleep(5
     
    header(??????????) 
     
    ?>
    aber ein paar Sachen scheinen da nicht zu stimmen ! Und zwar sind das $num ( ich hab ja keine num !? ) kann ich das einfach weglassen ? Ich will, dass alle 5sek 50 mails gesendet werden ( In der mailadresse.txt stehen GANZ viele Mailadresse )

    We kann helfen ?

  • #2
    ich brauch schnell hilfe bei diesem Problem !!

    Bitte !

    Kommentar


    • #3
      was funktioniert nicht? gib mal den Inhalt der "smtp.php" also die Klasse SMTP
      visit bepeppered.net

      Kommentar


      • #4
        der mailversand selbst stellt kein problem da,

        aber ich konnte dem Script noch nicht sagen, das es sich erst 50 Mailadressen aus der liste holen soll. Und was es mit dem $num auf sich hat weiß ich auch nicht

        Kommentar


        • #5
          wieso weist du nicht was es mit $num auf sich hat???

          Dachte du hast dir dieses Script selbst gebastelt??
          Die wenigsten Fehltritte begeht man mit den Füssen.

          Kommentar


          • #6
            Also $num ist der Name des Array Elements und $mail dessen Wert.

            Für die ganze Sache würde ich dir Cronjobs empfehlen. Auch solltest du das foreach gegen ein for oder while tauschen. Sonst gehst du immer alle Elemente durch (und verschickst auch alle Emails auf einmal).
            PHP-Code:
            $i 0;
            while(
            $i 50){ 
                
            mail($mails[$i],'Testnachricht','Das ist ein Test');
                
            $i += 1;

            Gruss

            tobi
            Zuletzt geändert von jahlives; 09.12.2005, 11:44.
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              alles über num

              Kommentar


              • #8
                Danke, ich versuch das nachher mal einzubauen.

                Aber es ist so : Ich will das php Script einmal öffnen im Browser, denn Browser dann schließen und der schickt dann die mails in 50er Intervallen raus. Geht das nicht ?

                Sehr produktiv Tobiaz, aber so kenn ich dich ja
                Zuletzt geändert von peter2005; 09.12.2005, 12:13.

                Kommentar


                • #9
                  ignore_user_abort

                  EDIT:
                  Ja, es gibt halt bestimmte Regeln, an die auch DU dich halten solltest. Da geht es mir nicht um produktiv oder nicht, sondern darum dir diese Regen näher zu bringen. Danke

                  Kommentar


                  • #10
                    Aber es ist so : Ich will das php Script einmal öffnen im Browser, denn Browser dann schließen und der schickt dann die mails in 50er Intervallen raus. Geht das nicht ?

                    NEIN SO GEHT ES NICHT !!!

                    es muss doch auch der nächste Wert an das Script wieder übergeben werden, z.B EMails 200 - 300 versenden
                    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                    Kommentar


                    • #11
                      ich versuch das gleich mal alles zu sammenzufügen

                      edit : Danke TObiaz - das war mal was gutes

                      *

                      0 - NORMAL
                      *

                      1 - ABORTED
                      *

                      2 - TIMEOUT

                      bloß welches soll ich nehmen ? Ich würde sagen die 0 !?
                      Zuletzt geändert von peter2005; 09.12.2005, 13:22.

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php
                        ignore_user_abort
                        (0)
                        include(
                        'smtp.php');
                        $smtp = new SMTP'xxxxxxx''xxxxxxxx''xxxxxxxx' );

                        $data file_get_contents('mailadressen.txt');
                        $mails explode(';'$data);
                        $i 0;
                        while(
                        $i 50){ 
                            
                        $smtp->send( array($mails[$i]), 'Testnachricht''Test1' );
                            
                        $i += 1;
                        }
                        sleep(5)
                        header()
                        ?>
                        die eine Zeile mit dem Mailsenden musste ich anpassen, da ich euer tolles ( das mein ich ehrlich!! ) SMTP Script nutze ( http://php-resource.de/forum/showthr...=kein+sendmail )

                        Was in das header() reinmuss fehlt noch :-( Da find ich nichts gescheites was da rein kann

                        Ist das Script denn soweit richtig ? Wie gesagt sind die mails in der txt wie folgt angeordnet :

                        Code:
                        mailaccount@gmx.net;mailaccount@web.de;..;...

                        Wie siehts aus ?


                        Peter

                        Kommentar


                        • #13
                          PHP-Code:
                          $smtp->send( array($mails[$i]), 'Testnachricht''Test1' ); 
                          Warum denn array($mails[$i]) ??????
                          Einfach so
                          PHP-Code:
                          $smtp->send($mails[$i], 'Testnachricht''Test1' ); 
                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            PHP-Code:
                            <?php
                            ignore_user_abort
                            (0)
                            include(
                            'smtp.php');
                            $smtp = new SMTP'xxxxxxx''xxxxxxxx''xxxxxxxx' );

                            $data file_get_contents('mailadressen.txt');
                            $mails explode(';'$data);
                            $i 0;
                            while(
                            $i 50){ 
                                
                            $smtp->send($mails[$i], 'Testnachricht''Test1' );
                                
                            $i += 1;
                            }
                            sleep(5)
                            header()
                            ?>
                            Und wenn ich dieses Script jetzt starte, dann wirds es sich die 50 ersten mailadressen aus der mailadresse.txt holen, an diese adressen die mail mit dem Inhalt Test1 schicken, dann 5sek warten und die zweiten 50 mailadressen nehmen und das selbe mit ihnen tun ?

                            Und was ist mit dem Inhalt von header() ?? Kommt da nichts weiter rein ?


                            Peter

                            Kommentar


                            • #15
                              PHP-Code:
                              <?php
                              ignore_user_abort
                              (0)
                              include(
                              'smtp.php');
                              $smtp = new SMTP'xxxxxxx''xxxxxxxx''xxxxxxxx' );

                              $data file_get_contents('mailadressen.txt');
                              $mails explode(';'$data);
                              $i 0;
                              $ii 1;
                              $anz_mails count($mails);
                              $temp int($anz_mails 50);
                              while(
                              $ii <= $temp){
                                  while(
                              $i $ii 50){ 
                                      if(
                              array_key_exists($i,$mails) != true){
                                           break;
                                      }
                                      
                              $smtp->send($mails[$i], 'Testnachricht''Test1' );
                                      
                              $i += 1;
                                  }
                                  
                              sleep(5)
                                  
                              $ii += 1;
                              }
                              ?>
                              Ich wüsste nicht wozu du header() brauchen würdest. Der Code ist nicht getestet. Das wichtige dabei ist aber, dass du zwei Schleifen brauchst. Die äussere Schleife sorgt dafür, dass nach 50 gesendeten Mails 5 sek gewartet wird und die nächsten 50 drannkommen.
                              Probiers mal ob es so funzt.

                              Gruss

                              tobi

                              EDIT:

                              Noch eine Abbruchbedingung für den Mailversand eingebaut

                              Zuletzt geändert von jahlives; 09.12.2005, 14:24.
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X