PHPmailer problem

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

  • PHPmailer problem

    Hallo
    ich bin gerade dabei mir ein Newsletter-Versenden-Script zubasteln.
    Soweit hats bis jetzt auch funktioniert.
    Nun hänge ich leider bei der Sendenfunktion über den phpmailer fest.
    Zu meinen Funktionen:
    Ich aheb es sogemacht, das man den Empfänger unten mit Checkboxen auswählen muss.Zurzeit gebe ich aber direkt einen Empfänger an.
    Später sollen diese dann aus einer DB ausgelesen werden.
    Sprich eine Schleife solange bis der letzte Empfänger versendet wurde.
    Zurzeit ist aber mein Problem das ich mit phpmailer noch nie gearbeitet habe und nicht weis, wie ich den richtig einzusetzten habe.
    Vielleicht könnte mir hierbei jemand helfen, wäre super nett.

    Mit freundlichen Grüßen
    luckymedia


    PHP-Code:
    <html> 
    <script language="javascript"> 
    <!-- 
    function check() { 
            if(document.form2.header.value == "") { 
            alert("Bitte geben Sie eine Ueberschrift ein."); 
            document.form.header.focus(); 
            return false; 
        } 
        if(document.form2.text.value == "") { 
            alert("Bitte geben Sie einen Text ein!"); 
            document.form2.text.focus(); 
            return false; 
        } 

    //--> 
    </script> 
    <script language="JavaScript"> 
    <!-- 
    var Marker = "false"; 

    function CheckboxenAktivieren(field) 

    for(i=0;i<4;i++) 

    window.document.form1.elements[i].checked="true"; 
    }  

    //--> 
    </script> 
    <head> 
    <meta http-equiv="Content-Language" content="de"> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
    <title>Newsletter versenden</title> 
    </head> 
    <? 
    error_reporting(E_ALL); 
    //Zeit und Datumabfrage 

    $today = getdate();  
    $month = $today['month'];  
    $mday = $today['mday'];  
    $year = $today['year']; 
    $hours = $today['hours']; 
    $minutes = $today['minutes']; 
    $now = sprintf ("$mday $month $year %02d:%02d", $hours, $minutes); 
    //Zeit und Datumabfrage Ende 
    //-------------------------------------------------------------------------------------------------- 
    if (isset($_POST['action']))  
    $action=htmlspecialchars($_POST["action"]); 
    if (!empty($_POST['action'])) { 


        //Klasse einbinden 
      require('../phpmailer/class.phpmailer.php'); 
       
      //Instanz von PHPMailer bilden 
      $mail = new PHPMailer(); 
      
      //Absenderadresse der Email setzen 
      $mail->From = "info@domain.com"; 
       
      //Name des Abenders setzen 
      $mail->FromName = "domain"; 
       
      //Betreff der Email setzen 
      $mail->Subject = "Newsletter von domain"; 
      
      //Text und Header der EMail setzen 
      $mail->Body = $_POST["header"];$_POST["text"]; 
       
      //Liste der Empfänger   
      $receivers = array("info@domain.com","info@domain.de"); 
      
      //Liste der Empfänger durchlaufen 
      foreach ($receivers as $receiver) 
      { 
         //Empfänger setzen 
         $mail->AddAddress($receiver); 
      
         //EMail senden und überprüfen ob sie versandt wurde 
         if(!$mail->Send()) 
         { 
           //$mail->Send() liefert FALSE zurück: Es ist ein Fehler aufgetreten 
           echo "Der Newsletter konnte nicht gesendet werden<br>"; 
           echo "Fehler: " . $mail->ErrorInfo; 
         } 
         else 
         { 
           //$mail->Send() liefert TRUE zurück: Die Email ist unterwegs 
           echo "Der Newsletter wurde versandt.<br>"; 
         } 
       
         //Empfänger zurücksetzen 
         $mail->ClearAddresses(); 
      } 
      } 


    //-------------------------------------------------------------------------------------------------- 
    ?> 



    <body bgcolor="#C0C0C0"> 

    <p align="center"><u><font color="#0000FF" size="5">Newsletter versenden</font></u></p> 
    <table border="0" width="100%"> 
        <tr> 
      <td><?echo "Datum: $now Uhr";  
      ?> <br><br> 
        </td> 
            </tr> 
        
        <form name="form2" onsubmit="return check()"> 
        <tr> 
        <td><font color="#0000FF">Überschrift:&nbsp; </font></td> 
            <td><input type="text" name="header" size="65"></td> 
        </tr> 
        <tr> 
            <td valign="top">&nbsp;<p><font color="#0000FF">Text:</font></p> 
            <p>&nbsp;</td> 
            <td>&nbsp;<p><textarea rows="15" name="text" cols="65"></textarea></p> 
            <p>&nbsp;</td> 
        </tr> 
        <tr> 
            <td>&nbsp;</td> 
            <td><input type="submit" value="Absenden" name="action">&nbsp; 
            <input type="reset" value="Zurücksetzen" name="zurücksetzen"></td> 
        </tr> 
    </table> 
    </form> 
    </body> 

    </html> 
    <? 
    //--------------------------------------------------------------------------- 
    //Kennungen 

      $host="..."; 
      $user="..."; 
      $passwort="..."; 
      $datenbank="...";   

      if(!$conn = mysql_pconnect($host, $user, $passwort)) 
      { 
       die("Verbindung zur Datenbank konnte nicht hergestellt werden. Errorcode: ".mysql_error()); 
      } 


      if(!mysql_select_db($datenbank)) 
      { 
         die("Die Datenbank $db konnte nicht ausgewaehlt werden. Errorcode: ".mysql_error()); 
      } 

    //---------------------------------------------------------------------------- 
    //SQL-String zum Auslesen und Löschen 

    $tabellenname = "newsletter_abo"; 

    // Die vorhandenen Datens&auml;tze abrufen 
    $result=mysql_query("select * from $tabellenname order by name ASC"); 

    // Nur wenn Daten gefunden wurden, 
    // wird das Formular angezeigt. 
    if(mysql_num_rows($result)) { 

      // Daten anzeigen 
      while($row=mysql_fetch_array($result,MYSQL_ASSOC)) { 
      $ID=$row["ID"]; 
      $name=$row["name"]; 
      $email=$row["email"]; 
      ?> 
      <table> 
      <form name="form1">  
        <tr> 
          <td width="30"> 
            <input type="checkbox" name="auswahl" value="<? echo $ID ?>"> 
          </td> 
          <td><? echo "$name $email<br> "?></td> 
      </tr> 
      <? } ?> 
    </table> 
      <br> 
      <input type="button" onClick="CheckboxenAktivieren(this.form.auswahl);" value="Alle Ausw&auml;hlen"> 
      <input type="reset" value="Auswahl aufheben" name="zurücksetzen"> 
    </form> 
    <? 
    } else { 
    echo "Keine Daten gefunden."; 

    ?>

  • #2
    OffTopic:
    Isn witz? Wie faul kann man eigentlich sein?


    Dokumentation, Beispiele und Häufige Fragen

    Kommentar


    • #3
      gibts des auch noch auf deutsch?!
      habs zum kleinen teil gecheckt.
      aber irgendwie komm ich trotzdem nicht weiter......

      Kommentar


      • #4
        aber irgendwie komm ich trotzdem nicht weiter......
        Konkretes Problem?
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Es kommt noch nicht einmal eine Ausgabe aus der Schleife.
          Und ich hab absolut keine ahnung warum nicht.

          Kommentar


          • #6
            error_reporting ( E_ALL ); ?
            Zuletzt geändert von tontechniker; 22.07.2007, 22:10.
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #7
              wofür steht das attribut "method" beim tag "form"?
              warum pconnect?

              Kommentar


              • #8
                Error Reporting ist drin, zeigt aber keinen Fehler!

                WO liest du bitte das mit pconnect?!

                Kommentar


                • #9
                  beantworte doch bitte die fragen.

                  Kommentar


                  • #10
                    WO liest du bitte das mit pconnect?!
                    100:1, dass das irgendwo in deinem Code steht
                    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


                    • #11
                      method wie man es übergeben möchte, per get oder post.
                      Mit pconnect() hergestellte Verbindungen bleiben jedoch geöffnet. Dies dient einzig und alleine dazu, das ständige Öffnen und Schließen von Netzwerkverbindungen zu vermeiden, denn der Verbindungsaufbau ist bei einigen Datenbanken (etwa Oracle) sehr aufwendig.

                      und was nun?!

                      Kommentar


                      • #12
                        Original geschrieben von jahlives
                        100:1, dass das irgendwo in deinem Code steht
                        Schon gefunden hab nur die zeile beim aufbau überlesen...

                        Kommentar


                        • #13
                          method wie man es übergeben möchte, per get oder post.
                          ok. möchtest du diese entscheidung nicht treffen?
                          und was nun?!
                          aus dem manual kopieren != verstehen. oder kannst du etwa begründen, warum pconnect hier notwendig ist?

                          Kommentar


                          • #14
                            pconnect ist nötig, da wir ja des öfterens die schleife durchlaufen(so oft wie daten gespeichert).

                            Kommentar


                            • #15
                              versuche doch bitte die unsinnigkeit deiner antwort selbst zu verstehen. wenn es dir nicht gelingt, helfen wir gern.

                              Kommentar

                              Lädt...
                              X