[PHP] Email versand in einer Whileschleife

Dieses Thema im Forum "Webentwicklung" wurde erstellt von master2005, 8. November 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. November 2007
    Email versand in einer Whileschleife

    Hallo @ all

    ich habe ein kleines Problem und zwar möchte ich gerne aus der DB Daten auslesen unter anderem auch die Email Adressen. Ich möchte wie bei einem Newsletter die daten aus der Whileshleife an jede emailadresse versenden. leider klappt das nicht das der Browser immer läd aber nichts passiert also er hängt sich auf... meine Überlegeung



    $abfrage = "SELECT * FROM gbs WHERE gb_tag='$tagsend' AND gb_monat='$monat'";
    $ergebnis = mysql_query($abfrage);
    while ($row2 = mysql_fetch_object($ergebnis))
    {

    mail($empfaenger, $betreff, $text,"From: test");
    }
     
  2. 8. November 2007
    AW: Email versand in einer Whileschleife

    Sind genug Emails vorhanden in der DB?

    Gib mal immer aus, wenn eine Email versendet wurde

    PHP:
    <? php
      $abfrage 
    "SELECT * FROM gbs WHERE gb_tag=' $tagsend ' AND gb_monat=' $monat '" ;
      
    $ergebnis  mysql_query ( $abfrage );
      while(
    $row  mysql_fetch_object ( $ergebnis ))
        {
        
    mail ( $empfaenger $betreff $text , "From: test" );
        echo 
    "Email versendet" ;
        }
      
    ?>

     
  3. 8. November 2007
    AW: Email versand in einer Whileschleife

    Du musst die Variablen $empfaenger, $betreff, $text in der Schleife füllen
    Eventuell auch mal alle Fehlermeldungen ausgeben mit "error_reporting (E_ALL);" ganz am anfang des scripts

    probier mal
    PHP:
    <? php
        $abfrage 
    "SELECT * FROM gbs WHERE gb_tag=' $tagsend ' AND gb_monat=' $monat '" ;
        
    $ergebnis  mysql_query ( $abfrage );
        while(
    $row  mysql_fetch_object ( $ergebnis ))
        {
            
    mail ( $row -> empfaenger $row -> betreff $row -> text , "From: test" );
            echo 
    "Email versendet" ;
        }
    ?>
     
  4. 8. November 2007
    AW: Email versand in einer Whileschleife

    die spalten in der DB müssen genauso heißen wie das objekt ($row->email)
     
  5. 8. November 2007
    AW: Email versand in einer Whileschleife

    danke erstmal für eure hilfe das klappt auch nicht wenn ich die variablen deklariere

    so ist es momentan

    $abfrage = "SELECT * FROM gbs WHERE gb_tag='$tagsend' AND gb_monat='$monat'";
    $ergebnis = mysql_query($abfrage);
    while ($row2 = mysql_fetch_object($ergebnis))
    {
    $empfaenger = $row->myemail;
    $betreff = "test";
    $text = "hallo";
    mail($empfaenger, $betreff, $text,"From: test");
    echo "Email versendet";
    }

    ?>



    es kommt erst gar nicht zur einer ausbabe da der die datei nicht aufruft er lädt nur die ganze zeit ohne ende
     
  6. 8. November 2007
    AW: Email versand in einer Whileschleife

    du beschreibst ja die Variable $row2 mit den ergebnissen. In der schleife willst du aber $row ausgeben. Da ist ja nichts drin.
     
  7. 9. November 2007
    AW: Email versand in einer Whileschleife

    Moin,

    also mehrere Dinge

    1. Ist dieser Thread ausschließlich mit Metafragen gefüllt
    2. Sagt die Mail - Funktion im Endeffekt nichts darüber aus ob eine Mail versendet wurde.
    3.

    PHP:
    <? php 
      
    //...
     
    while( $row  mysql_fetch_object ( $ergebnis )) 
        { 
        
    mail ( $empfaenger $betreff $text , "From: test" ); 
        echo 
    "Email versendet"
        }
      
    //...
    ?>
    Dieser Codeschnipsel und die folgenden Posts darüber sind vom PHP-Gehalt her als SPAM zu betrachten ....

    4. Mails in einer Schleife zu versenden ist durch das interne Handling der Mail- Funktion (Verbindungen etc.) und dem Problem dass man beim Massenversand schnell auf die BL des Providers kommt, auch wenn das imho, nicht rechtens ist, nicht sinnvoll.

    [G]Quakenet PHP Tutorial[/G]
    PHP: mail - Manual
     
  8. 9. November 2007
    AW: Email versand in einer Whileschleife

    ich glaube dass mail einen header sendet. also weg mit der aush ausgabe in der schleife.

    PHP:
    $gesendet  "" ;
    while(
    $row  mysql_fetch_object ( $ergebnis )) {
     
    $gesendet  .=  "Email wurde an " . $row -> empfaenger . " gesendet<br />" ;
     
    mail ( $row -> empfaenger , $betreff , $text );
    }
    echo 
    $gesendet
     
  9. 9. November 2007
    AW: Email versand in einer Whileschleife

    Und auch hier wieder, gut gemeint aber ohne Gehalt.

    Die Mail - Funktion reicht die jeweiligen "Daten" an den MTA weiter, welcher die Mail/Mails versendet (Zum Thema "Header senden" könnte ich mehr sagen, spar ich mir aber, s.o.). Und auch hier wieder, zum Zweiten, gibt dieses Script keine Aussage darüber ob die Mailversendet wurde, selbst ob die mail funktion fehl schlug läßt sich in den meisten standard - konfigurationen nicht feststellen ...
     
  10. 9. November 2007
    AW: Email versand in einer Whileschleife

    @MakenX:
    Anstatt schon zum zweiten mal zu posten, dass es sich um eine Metafrage handelt und das keine überprüfung der mail stattfindet, hättest du ihm auch einfach helfen können um das Thema hier zu klären !
    (Ich will dich damit nicht persönlich angreifen, falls es so rüberkommt )

    @master2005:

    Versuch mal mit diesem Code hier

    PHP:
    <? php
        $sql 
    "SELECT * FROM gbs WHERE gb_tag=' $tagsend ' AND gb_monat=' $monat '" ;
        
    $result  mysql_query ( $sql );
        while(
    $row  mysql_fetch_assoc ( $result ))
        {
            if (
    mail ( $row [ 'empfaenger' ],  $row [ 'betreff' ],  $row [ 'text' ], "From: test" )) {
             echo 
    "Email versendet" ;
            }
        }
    ?> 
    Die mail() Funktion gibt ein TRUE zurück, wenn die Mail erfolgreich zum Versand akzeptiert wurde. Das sie wirklich verschickt wurde bzw auch beim gewünnschtem Empfänger landet ist nicht prüfbar.
     
  11. 9. November 2007
    AW: Email versand in einer Whileschleife

    Genau Chewie

    Bloß eins vergisst du dabei, ich habe ihm bereits geholfen, indem ich im zeigte, wo er es sich selbst beibringen kann. Wer sich dafür zu fein ist, ist falsch in einem Forum wenn nicht sogar in einer erfolgsorientierten Welt, denn der Umgang mit einem Query, mit einer while - schleife, mit variablen, einer if-kontrolle und funktionsaufrufen ist das Mindeste, wenn man solch einen Thread aufmacht. Wie will eine Person die diese Basics nicht kennt auch nur irgendeine Hilfestellung verstehen, wenn diese nicht ähnlich kommentiert ist, wie die offizielle Dokumentation? Aber wenn diese offizielle Dokumentation doch schon vorhanden ist, dann frag ich mich, wieso ich noch mehr machen muss, als diese zu verlinken, darauf hinzuweisen? Wenn nötig auch mehrfach.

    Zumal ich nicht nur dem Threadersteller mit der Hilfe zur Selbsthilfe half sondern auch den anderen Personen die bei solch einer einfachen Fragestellung auch keine eindeutige Antwort geben konnten.

    PS: Ich habs nicht krumm genommen, doch fände ich es einfach klasse wenn man seinen eigenen Verstand benutzt bevor man sein Problem von "anderen Personen versucht erledigen zu lassen".
     
  12. 10. November 2007
    AW: Email versand in einer Whileschleife

    Naja auf manche unnötige Kommentare gehe ich mal nicht ein trotzdem Danke ich allen Leuten die mir versucht haben zu helfen habe es jetzt gelöst mein Problem via SMTP


    THX @ ALL


    mfg
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.