mail() - Kann E-Mail nicht abschicken

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

  • mail() - Kann E-Mail nicht abschicken

    Guten Tag @all,
    für mein neues System das per Templates gesteuert wird und eine Mail schickt, brauche ich die mail(), Funktion.

    100 mal habe ich die Funktion hinbekommen aber beim 101 mal gings nicht.

    Ich habe die Felder:
    • vorname
    • nachname
    • email
    • id
    • homepage
    • icq
    • firma


    Mh findet Ihr den Fehler warum er die E-Mail nicht abschickt?

    Mh hier mal ein paar Ausschnitte aus der Datei index.php:
    PHP-Code:
    //Fehlerhinweise
    $error_mail $template->setString("<b>Die Bestellung konnte nicht abgeschickt werden!</b>","CMS_012");

    //Sicherheitseinstellungen
    $vorname $_POST["vorname"];
    $nachname $_POST["nachname"];
    $email $_POST["email"];
    $id $_POST["id"];
    $homepage $_POST["homepage"];
    $icq $_POST["icq"];
    $firma $_POST["firma"];

    $von .= "From: $email ($email)\r\n";
    $von .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
    $von .= "X-Mailer: PHP ".phpversion();

    if(
    $action=="post") {
     if(
    $action=="send") {
     
    $msg  "Vorname: $vorname<br>";
     
    $msg .= "Nachname: $nachname<br>";
     
    $msg .= "E-Mail: $email<br>";
     
    $msg .= "Produkt-ID: $id<br>";
     
    $msg .= "Homepage: $homepage<br>";
     
    $msg .= "ICQ: $icq<br>";
     
    $msg .= "Firma: $firma";
     
      
    mail($conf_webmaster"CryptCenter Bestellung"$msg$von) or die($error_mail);
      
    $template->setString("<b>Die Bestellung wurde erfolgreich abgeschickt!<br>Wir werden uns schnellstens bei Ihnen melden!</b>","CMS_012");
     }
    }
    $template->echoTemplate();
    ?> 
    Mit freundlichen Grüßen
    Sören Wächter

    *NEU*
    Kostenloser Webspace auf snakespace.de

  • #2
    du kommst nicht in den entsprechenden if-zweig.

    Kommentar


    • #3
      Warum das? Könnten SIe die Codestelle ausbessern?

      Sollte ich das $action=="post" weglassen? Diesen if-Zweig weg lasseN?
      Mit freundlichen Grüßen
      Sören Wächter

      *NEU*
      Kostenloser Webspace auf snakespace.de

      Kommentar


      • #4
        nein, du sollst dich erst mal vergewissern, ob du es wirklich tust (in den zweig hineinkommen).

        Kommentar


        • #5
          Also ich habe folgendes Weggelassen:

          if($action=="post") {

          passende klammer zu }

          So sieht es jetzt aus:
          PHP-Code:
          if($action=="send") {
           
          $msg  "Vorname: $vorname<br>";
           
          $msg .= "Nachname: $nachname<br>";
           
          $msg .= "E-Mail: $email<br>";
           
          $msg .= "Produkt-ID: $id<br>";
           
          $msg .= "Homepage: $homepage<br>";
           
          $msg .= "ICQ: $icq<br>";
           
          $msg .= "Firma: $firma";
           
            
          mail($conf_webmaster"CryptCenter Bestellung"$msg$von) or die($error_mail);
            
          $template->setString("<b>Die Bestellung wurde erfolgreich abgeschickt!<br>Wir werden uns schnellstens bei Ihnen melden!</b>","CMS_012");
           } 
          DIE E-Mail kommt an, aber im Template steht jetzt immer die E-Mail konnte nicht abgeschickt werden ob wohl er sie schickt. Live Demo: http://soerenclub.so.ohost.de/CryptCenter/index.php
          Mit freundlichen Grüßen
          Sören Wächter

          *NEU*
          Kostenloser Webspace auf snakespace.de

          Kommentar


          • #6
            du hast mich zwar nicht verstanden, aber die frage wurde trotzdem beantwortet: du kamst nicht in den äußeren if-zweig hinein. wie denn auch, wenn du die abfrage hast: "wenn farbe rot und grün", die kann niemals erfüllt werden.

            nimm mal dein "or die" raus.

            Kommentar


            • #7
              Or die, ich möchte aber eine Meldung haben wenn die E-Mail nicht abgeschickt werden kann. Dafür nimmt man normalerweise or die()
              Mit freundlichen Grüßen
              Sören Wächter

              *NEU*
              Kostenloser Webspace auf snakespace.de

              Kommentar


              • #8
                PHP-Code:
                if($action=="post") {
                 if(
                $action=="send") { 
                stimmt das da ist mist... entweder in der ersten if passiert noch was oder es ist wirklich so.

                denn ... $action ist hier eine stringzeichenkette und soll einmal gleich post und dann kurz darauf gleich send sein? geht irgenntwie nicht. deswegen tut er in der reinfolge nichts ...

                vieleicht mal die if prüfungen überdenken ^^
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #9
                  wie du siehst, wird die mail ja abgeschickt.

                  Kommentar


                  • #10
                    Mh dazu hatten wir bereits eine Antwort gefunden. Jetzt noch die Antwort zu or die(); bitte.

                    Trotzdem danke. Stimmt ich hatte mich vertan.
                    Mit freundlichen Grüßen
                    Sören Wächter

                    *NEU*
                    Kostenloser Webspace auf snakespace.de

                    Kommentar


                    • #11
                      Dafür nimmt man normalerweise or die()
                      Nein. Man fängt den Fehler ab und gibt eine für Menschen lesbare Fehlermeldung aus. Dann wird der Rest der Seite auch noch angezeigt. Fortgeschrittene werfen vielleicht eine Exception aber fang erstmal klein an ...
                      OffTopic:
                      Ricola hat noch garnichts gesagt?!
                      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                      Kommentar

                      Lädt...
                      X