Haufenweise mails verschicken

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

  • #16
    Salut Jahlives,

    habe euer interessanter und praktischer Script eben getestet und funktioniert super!
    Dennoch musste ich zwei kleine Fehler beheben: int in klammer (int) und
    sleep(5); mit semikolon ;-)

    Gruß

    Pippo
    Zuletzt geändert von pippo; 09.12.2005, 17:08.
    In Flames - Pinbal Map
    Becoming the Archetype - No Fall Too Far
    Pantera

    Kommentar


    • #17
      Dennoch musste ich zwei kleine Fehler beheben: int in klammer (int) und
      sleep(5); mit semikolon ;-)
      Wenigstens einer ist noch wach

      Gruss und schönes Weekend

      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


      • #18
        Vielen Dank,

        ich teste das gleich mal

        Was meinst du mit Abbruchbedingung ?


        EDIT:
        Funktionier einwandfrei, aber in Zeile 2 bei dem ignore user abort hat ein simikolon gefehlt :-) Danke nochmal an alle mitwirkenden


        eine Frage noch : Ist dieses Script sehr serverlastig ? 50mails --> 5sek warten 50mails ?
        Zuletzt geändert von peter2005; 09.12.2005, 19:52.

        Kommentar


        • #19
          Was mir gerade einfällt :

          Es würde schön sein, wenn ich die Mails auch im HTML Format schicken könnte, wie geht denn das ? Ich hab versucht, einfach statt der Nachricht <html>blabla</html> einzusetzen, aber das ging natürlich nicht

          Kommentar


          • #20
            @peter: du musst im header der email auch sagen, dass es sich um eine HTML E-Mail handelt.

            Ließ dazu hier http://de2.php.net/manual/de/function.mail.php. Dort findest du ein Beispiel zu deiner Frage.
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #21
              hab ich mir mal durchgelesen, und das Script um das $message ergänzt. Aber ich habe ja kein normales php Mail() Script, ich spreche ja direkt mit dem SMTP. Wo baue ich dann diese headers informationen ein ?

              Kann ich das in mein Script selbst einbinden, oder muss das in die smtp.php mit folgendem Inhalt :
              http://php-resource.de/forum/showthr...=kein+sendmail


              Peter

              Kommentar


              • #22
                also, den Header setzt du bei einer SMTP Verbindung nach dem To:

                und da muss dann halt dein header gesetzt werden
                PHP-Code:
                $header .= "MIME-Version: 1.0\n";
                $header .= "Content-type: text/html; charset=iso-8859-1\n"
                Hier mal ein Auszug aus meiner Mail-Klasse

                PHP-Code:
                // gekürzt
                protected function get_Mail_Header()
                {
                // ...
                    
                $this->header .= "MIME-Version: 1.0\n";
                    
                $this->header .= "Content-type: text/html; charset=iso-8859-1\n";
                // ...

                    
                return $this->header;    
                }

                $this->send_SMTP_Command("MAIL FROM:".$this->mail_array[$a]['from_email']."\r\n");
                $this->send_SMTP_Command("RCPT TO:".$this->mail_array[$a]['to_email']."\r\n");
                $this->send_SMTP_Data("DATA\r\n");
                $this->send_SMTP_Data("Subject: ".$this->mail_array[$a]['subject']."\r\n");
                $this->send_SMTP_Data("To: ".$this->mail_array[$a]['to_email']."\r\n");
                if(
                $this->get_Mail_Header())
                    
                $this->send_SMTP_Data($this->get_Mail_Header());
                $this->send_SMTP_Data("\r\n");
                $this->send_SMTP_Data($this->mail_array[$a]['message']."\r\n");
                $this->send_SMTP_Command(".\r\n"); 
                Zuletzt geändert von Benny-one; 09.12.2005, 21:34.
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #23
                  aber Wo muss es rein ? in das Script was wir hier erstellt haben oder in die smtp.php hier aus dem Board ?

                  Peter

                  Kommentar


                  • #24
                    ich vermute mal stark in die smtp.php
                    Sunshine CMS
                    BannerAdManagement
                    Borlabs - because we make IT easier
                    Formulargenerator [color=red]Neu![/color]
                    Herkunftsstatistik [color=red]Neu![/color]

                    Kommentar


                    • #25
                      PHP-Code:
                      <?php
                      /**
                       * class:         smtp.class.php
                       * require:
                       * optional:    
                       * description:    class for sending mail directly throw an smtp server
                       * created:        25.08.2002
                       * last change:    18.09.2002
                       * author:        Sven Denkert <sven.denkert@t-online.de>
                       * copyright:    Sven Denkert
                       * 
                       * TODO:        MIME / Attachments / error-handling like pop3.class.php
                       */

                      if ( !isset( $_CLASS_SMTP_ ) ) {
                          
                      $_CLASS_SMTP_ 1;
                          class 
                      SMTP {
                              var 
                      $server "csiny.de";
                              var 
                      $user_name "wp1013696-ich";
                              var 
                      $user_pass "L#3!pRfDiH.2";
                              var 
                      $from "Ricken@csiny.de";

                              var 
                      $socket;
                              var 
                      $error;

                              function 
                      SMTP$server$user_name null$user_pass null )
                              {
                                  if ( !
                      $this->server $server )
                                      return 
                      $this->error "No SMTP server provided";
                                  if ( 
                      trim$user_name ) )
                                      
                      $this->user_name trim$user_name );
                                  if ( 
                      trim$user_pass ) )
                                      
                      $this->user_pass trim$user_pass );
                              } 

                              function &
                      server_parse$response )
                              {
                                  
                      $server_response "";
                                  while ( 
                      substr$server_response3) != ' ' )
                                  if ( !( 
                      $server_response fgets$this->socket256 ) ) )
                                      return 
                      $this->error "Couldn't get mail server response codes";
                                  if ( 
                      substr$server_response0) != $response )
                                      return 
                      $this->error "Couldn't not send mail. Server response: $server_response";
                                  return 
                      "";
                              } 

                              function &
                      put$string )
                              {
                                  return 
                      fputs$this->socket$string "\r\n" );
                              } 
                              
                      // put in
                              // mail_to => array of mailadresses, or string splittet with ,
                              // cc => array of mailadresses, or string splittet with ,
                              // cc => array of mailadresses, or string splittet with ,
                              
                      function &send$mail_to$subject$message$cc ""$bcc "" )
                              {             
                      // Fix any bare linefeeds in the message to make it RFC821 Compliant.
                                  
                      $message preg_replace"/(?<!\r)\n/si""\r\n"$message ); 
                                  if ( !
                      trim$subject ) ) return $this->error "No email Subject specified";
                                  if ( !
                      trim$message ) ) return $this->error "Email message was blank"
                                  if ( !
                      is_array$mail_to ) ) $mail_to explode","$mail_to );
                                  if ( 
                      $cc && !is_array$cc ) ) $cc explode","$cc );
                                  if ( 
                      $bcc && !is_array$bcc ) ) $bcc explode","$bcc ); 
                                  if ( !
                      $this->socket fsockopen$this->server25$errno$errstr20 ) )
                                      return 
                      $this->error "Could not connect to smtp host : $errno : $errstr";
                                  if ( 
                      $this->server_parse"220" ) )
                                      return 
                      $this->error
                                  if ( !
                      $this->put"EHLO " $this->server ) )
                                      return 
                      $this->error "cannot send EHLO Command";
                                  if ( 
                      $this->server_parse"250" ) )
                                      return 
                      $this->error
                                  if ( !empty( 
                      $this->user_name ) && !empty( $this->user_pass ) ) {
                                      if ( !
                      $this->put"AUTH LOGIN" ) )
                                          return 
                      $this->error "Cannot send AUTH LOGIN Command";
                                      if ( 
                      $this->server_parse"334" ) )
                                          return 
                      $this->error;
                                      if ( !
                      $this->putbase64_encode$this->user_name ) ) )
                                          return 
                      $this->error "Cannot send LOGIN USER";
                                      if ( 
                      $this->server_parse"334" ) )
                                          return 
                      $this->error;
                                      if ( !
                      $this->putbase64_encode$this->user_pass ) ) )
                                          return 
                      $this->error "Cannot send USER PASS";
                                      if ( 
                      $this->server_parse"235" ) )
                                          return 
                      $this->error;
                                  } 
                                  if ( !
                      $this->put"MAIL FROM: " $this->from ) )
                                      return 
                      $this->error "Cannot send MAIL FROM";
                                  if ( 
                      $this->server_parse"250" ) )
                                      return 
                      $this->error
                                  
                      $to_header "FROM: <" $this->from "> \r\n";
                                  
                      $to_header .= "To: ";
                                  @
                      reset$mail_to );
                                  while ( list( , 
                      $mail_to_address ) = each$mail_to ) ) {
                                      
                      $mail_to_address trim$mail_to_address );
                                      if ( 
                      preg_match'/.+@.+/'$mail_to_address ) ) {
                                          
                      fputs$this->socket"RCPT TO: $mail_to_address\r\n" );
                                          
                      $this->server_parse"250" );
                                      } 
                                      
                      $to_header .= "$mail_to_address, ";
                                  } 
                                  if ( !empty( 
                      $bcc ) ) {
                                      @
                      reset$bcc );
                                      while ( list( , 
                      $bcc_address ) = each$bcc ) ) {
                                          
                      $bcc_address trim$bcc_address );
                                          if ( 
                      preg_match'/.+@.+/'$bcc_address ) ) {
                                              
                      fputs$this->socket"RCPT TO: $bcc_address\r\n" );
                                              
                      $this->server_parse"250" );
                                          } 
                                      } 
                                  } 
                                  if ( !empty( 
                      $cc ) ) {
                                      @
                      reset$cc );
                                      while ( list( , 
                      $cc_address ) = each$cc ) ) {
                                          
                      $cc_address trim$cc_address );
                                          if ( 
                      preg_match'/.+@.+/'$cc_address ) ) {
                                              
                      fputs$this->socket"RCPT TO: $cc_address\r\n" );
                                              
                      $this->server_parse"250" );
                                          } 
                                      } 
                                      
                      $to_header .= "$cc_address, ";
                                  } 
                                  
                      fputs$this->socket"DATA\r\n" ); 
                                  
                      $this->server_parse"354" ); 
                                  
                      fputs$this->socket"Subject: $subject\r\n" ); 
                                  
                      fputs$this->socket"$to_header\r\n" ); 
                                  
                      fputs$this->socket"\r\n\r\n" ); 
                                  
                      fputs$this->socket"$message\r\n" ); 
                                  
                      fputs$this->socket".\r\n" );
                                  
                      $this->server_parse"250" ); 
                                  
                      fputs$this->socket"QUIT\r\n" );
                                  
                      fclose$this->socket );
                                  
                      $this->socket null;
                              } 
                          } 
                      }
                      ?>
                      Die Datei ist groß, da steht mehrmals to - ich seh da leider nicht durch - sorry, kannst du das vielleicht etwas genauer sagen ?

                      Peter

                      Kommentar


                      • #26
                        PHP-Code:
                                    
                                    
                        fputs$this->socket"DATA\r\n" ); 
                                    
                        $this->server_parse"354" ); 
                                    
                        fputs$this->socket"Subject: $subject\r\n" ); 
                                    
                        fputs$this->socket"$to_header\r\n" );
                                    
                        $myheader .= "MIME-Version: 1.0\r\n";  
                                     
                        $myheader .= "Content-type: text/html; charset=iso-8859-1\r\n"
                                     
                        fputs$this->socket,  $myheader); 
                                    
                        fputs$this->socket"\r\n\r\n" ); 
                                    
                        fputs$this->socket"$message\r\n" ); 
                                    
                        fputs$this->socket".\r\n" );
                                    
                        $this->server_parse"250" ); 
                                    
                        fputs$this->socket"QUIT\r\n" );
                                    
                        fclose$this->socket );
                                    
                        $this->socket null;
                                } 
                            } 

                        mit hilfe von
                        Benny-one konnte ich das ganze anpassen - und es funktioniert.


                        Vielen Dank nochmal

                        Kommentar


                        • #27
                          Alles klar - Danke
                          Zuletzt geändert von peter2005; 11.12.2005, 09:19.

                          Kommentar


                          • #28
                            Achtung! Hierbei scheint es sich um einen Spamer, oder zumindest jemanden, der Spamer werden will zu handeln. Siehe http://www.phpforum.de/forum/showtop...genum=lastpage

                            Die Vermutung, dass es sich bei 200.000 eMail-Adressen um einen Spamer handelt, scheint nicht ganz unbegründet.
                            Das ist aber, wie gesagt, eine Vermutung!


                            Gruß
                            Uwe
                            Zuletzt geändert von uwe59; 10.12.2005, 21:43.

                            Kommentar


                            • #29
                              Herr Marcus Rieck,

                              geboren ***, wohnhaft *** (DENIC-Auszug zu marcusrieck.de = ricken.yourweb.de, wo übrigens auch fragliches Script liegt (bitte nicht aufrufen, falls er es doch hinbekommt!!!),

                              ich hätte gern eine Erklärung - und zwar etwas ausführlicher als "Ich will keine Spam Mails verschicken"!

                              Du hast zwei Tage Zeit, dann sag ich deinem Vater (Thomas Rieck, Anschrift wie oben, Telefon ***), was sein 16jähriger Sohn so im Internet treibt und dass dies auch für die Eltern strafrechtliche Konsequenzen hat. Denn seit der Novelle des Gesetzes gegen den unlauteren Wettbewerb sind sogenannte Spam-Mails nur noch dann erlaubt, wenn sie mit vorheriger Zustimmung des Empfängers verschickt werden.

                              Du hast also 2 Tage Zeit, einen Beleg für die 200000 Zustimmung zu bringen!

                              (Danke, uwe59.)
                              EDIT:
                              zensiert! edited by asp2php.

                              bitte keine fremde, persönliche Daten veröffentlichen, selbst wenn sie quasi public sind. **Verwarnung**


                              Zuletzt geändert von asp2php; 11.12.2005, 12:44.

                              Kommentar


                              • #30
                                Es wird sich um einen Irrtum handeln
                                Zuletzt geändert von peter2005; 11.12.2005, 09:20.

                                Kommentar

                                Lädt...
                                X