Probleme mit mail funktion

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

  • Probleme mit mail funktion

    Hi,

    habe in flash ein bestellformular gemacht wo ich die daten per php versenden möchte.

    allerdings führt er mir aus einem mir noch unbekannten grund den mail befehl nicht aus . . . . .

    PHP-Code:
    <?php
        $artikel                 
    $_POST['artikel'];
        
    $anzahl                 $_POST['anzahl'];
        
    $Name                     $_POST['Name'];
        
    $Strasse                 $_POST['Strasse'];
        
    $Land                     $_POST['Land'];
        
    $Nachname                 $_POST['Nachname'];
        
    $PLZ_Ort                 $_POST['PLZ_Ort'];
        
    $mail                     $_POST['mail'];
        
    $kartennummer             $_POST['kartennummer'];
        
    $Verfallsdatum             $_POST['Verfallsdatum'];
        
    $Kartenname             $_POST['Kartenname'];
        
    $BriefAnschrift         $_POST['BriefAnschrift'];
        
    $BriefAnlass             $_POST['BriefAnlass'];
        
    $BriefName                 $_POST['BriefName'];
        
    $BriefZiel                 $_POST['BriefZiel'];
        
    $BriefBesonderheiten     $_POST['BriefBesonderheiten'];
        
    $BriefStadium             $_POST['BriefStadium'];
        
    $BriefEreignisse         $_POST['BriefEreignisse'];
        
    $BriefEigenschaften     $_POST['BriefEigenschaften'];
        
    $BriefSchreibstiel         $_POST['BriefSchreibstiel'];
        
    $BriefBerufe             $_POST['BriefBerufe'];
        
    $KarteEmpfänger         $_POST['KarteEmpfänger'];
        
    $KarteVerhältniss         $_POST['KarteVerhältniss'];
        
    $KarteAlter             $_POST['KarteAlter'];
        
    $KarteAnlass             $_POST['KarteAnlass'];
        
    $KarteBesonderheiten     $_POST['KarteBesonderheiten'];
        
    $KarteInformationen     $_POST['KarteInformationen'];
        
        
    $artikel                 stripslashes($artikel);
        
    $anzahl                 stripslashes($anzahl);
        
    $Name                     stripslashes($Name);
        
    $Strasse                 stripslashes($Strasse);
        
    $Land                     stripslashes($Land);
        
    $Nachname                 stripslashes($Nachname);
        
    $PLZ_Ort                 stripslashes($PLZ_Ort);
        
    $mail                     stripslashes($mail);
        
    $kartennummer             stripslashes($kartennummer);
        
    $Verfallsdatum             stripslashes($Verfallsdatum);
        
    $Kartenname             stripslashes($Kartenname);
        
    $BriefAnschrift         stripslashes($BriefAnschrift);
        
    $BriefAnlass             stripslashes($BriefAnlass);
        
    $BriefName                 stripslashes($BriefName);
        
    $BriefZiel                 stripslashes($BriefZiel);
        
    $BriefBesonderheiten     stripslashes($BriefBesonderheiten);
        
    $BriefStadium             stripslashes($BriefStadium);
        
    $BriefEreignisse         stripslashes($BriefEreignisse);
        
    $BriefEigenschaften     stripslashes($BriefEigenschaften);
        
    $BriefSchreibstiel         stripslashes($BriefSchreibstiel);
        
    $BriefBerufe             stripslashes($BriefBerufe);
        
    $KarteEmpfänger         stripslashes($KarteEmpfänger);
        
    $KarteVerhältniss         stripslashes($KarteVerhältniss);
        
    $KarteAlter             stripslashes($KarteAlter);
        
    $KarteAnlass             stripslashes($KarteAnlass);
        
    $KarteBesonderheiten     stripslashes($KarteBesonderheiten);
        
    $KarteInformationen     stripslashes($KarteInformationen);

        
    $subject 'Bestellung '.§artikel.' von xxxxxx;
        //$toaddress = xxxx;
        $toaddress = '
    joerghamster@web.de';
        $message = '
    Bestellung vom '.date("D M j G:i:s Y").' von IP '.$_SERVER['REMOTE_ADDR'].'\n\n\n';
        $message .= '
    Bestellt wurden : \n';
        $message .= '
    Artikel '.$artikel.' mit einer Anzahl von '.$anzahl.'\n\n';
        $message .= '
    Angaben zum Besteller : \n';
        $message .= '
    Name '.$Name.' '.$Nachname.'\n';
        $message .= '
    Strasse '.$Strasse.'\n';
        $message .= '
    PLZ/ORT '.$PLZ_Ort.'\n';
        $message .= '
    Land '.$Land.'\n';
        $message .= '
    E-Mail '.$mail.'\n\n';
        $message .= '
    Falls Kartenzahlung gewünscht, die Kartendaten : \n';
        $message .= '
    Kartennummer '.$kartennummer.'\n';
        $message .= '
    Verfallsdatum '.$Verfallsdatum.'\n';
        $message .= '
    Name des Karteninhabers '.$Kartenname.'\n\n';
        $message .= '
    Informationen falls ein Brief bestellt wurde : \n';
        $message .= '
    Anschrift '.$BriefAnschrift.'\n';
        $message .= '
    Anlass '.$BriefAnlass.'\n';
        $message .= '
    Name '.$BriefName.'\n';
        $message .= '
    Ziel '.$BriefZiel.'\n';
        $message .= '
    Besonderheiten '.$BriefBesonderheiten.'\n';
        $message .= '
    Stadium '.$BriefStadium.'\n';
        $message .= '
    Ereignisse '.$BriefEreignisse.'\n';
        $message .= '
    Eigenschaften '.$BriefEigenschaften.'\n';
        $message .= '
    Schreibstiel '.$BriefSchreibstiel.'\n';
        $message .= '
    Berufe '.$BriefBerufe.'\n\n';
        $message .= '
    Informationen falls eine Karte oder ein Gedicht bestellt wurde : \n';
        $message .= '
    Empfänger '.$KarteEmpfänger.'\n';
        $message .= '
    Verhältniss '.$KarteVerhältniss.'\n';
        $message .= '
    Alter '.$KarteAlter.'\n';
        $message .= '
    Anlass '.$KarteAnlass.'\n';
        $message .= '
    Besonderheiten '.$KarteBesonderheiten.'\n';
        $message .= '
    Informationen '.$KarteInformationen.'\n\n\n';
        $message .= '
    Diese E-Mail wurde automatisch von [url]xxxxx[/urlerstellt\n';


        
        function validateEmail($Email) {
        
          // Function to validate an e-mail address by both checking the
          // format of the address, and then testing it by holding an
          // authorisation conversation with the addresses SMTP server
          //
          // inputs - $Email = the email address itself
          // 
          // returns - function has a return value of
          //           0 = success
          //           1 = failed, invalid address
          //           2 = system failure
          //
          // Written by Trib after reading, combining, enhancing and modifying
          // the efforts of too many other people to give a credit list. However
          // Jay Greenspan deserves a mention for his exhaustive work on address
          // parsing (see the link in the rutorial at 
          // [url]http://www.trib-design.com/gurututs/validatemail.php[/url]
          // and also so does an unknown person who wrote the SMTP MX record
          // query program which got me to thinking about the problem from the 
          // SMTP perspective.
          //
          // You can also find the associated e-mail contact form at
          // <this address - later>
          //
          // Permission is hereby given to use, distribute and modify this code
          // without restriction or condition. However if you are a decent person
          // you might consider putting a credit into your comments. If you do,
          // I'
    m KSalt (a.k.aTribat [url]http://www.trib-design.com.[/url] Thanks and ...
          //
          // enjoy .....
        
          
    global $HTTP_HOST;
        
          
    // Check for a malformed address (roughly)
          
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$Email)) { 
            
    // it failed the simple format test, so return with an invalid address error
            
    return 1;
          }  
          
    // otherwise it passes the test so we can go off and do the 'real' validation
          //
          // first split #Email up into parts
          
    list ( $Username$Domain ) = split ("@",$Email);
        
          
    // look for an MX record and get the mail host name
          
    if (checkdnsrr $Domain"MX" ))  {  
            if (
    getmxrr ($Domain$MXrec))  {  
              
    // save the MX hostname ready for Phase 3 testing
            
    $Mailserver $MXrec[0];???    ? ?|E|E?????????††?????????????
        ?
    ??    ? ?|E|E?????????††?????????????
            } else {
              
    // there is an MX record, but we failed to retrieve it
              
    return 2// return system error NOT invalid address
            
    }
          } else {
            
    // in this case there isn't an MX record so assume that the domain
            // portion is also the name of the mail server itself (it can happen)
            // save it as the mailserver address ready for Phase 3 testing
            
    $Mailserver $Domain;
          }
        
          
    // open a socket connection to the Mailserver
          
    if ($Connection fsockopen($Mailserver25)) {
        
            
    // start the SMTP validation
        
            
    if (ereg("^220"$Rubbish fgets($Connection1024))) {
              
    // it is an SMTP server so you can start talking to it
        
              // Tell it who you are and get the response (not needed later). 
              
    fputs $Connection"HELO $HTTP_HOST\r\n" );  
              
    $Rubbish fgets $Connection1024 );
        
              
    // Ask it to accept mail from your $Email user - store the response (needed later)
              
    fputs $Connection"MAIL FROM: <{$Email}>\r\n" );  
              
    $Fromstring fgets $Connection1024 ); 
        
              
    // Ask it to accept mail for your $Email user - store the response (needed later)
              
    fputs $Connection"RCPT TO: <{$Email}>\r\n" );  
              
    $Tostring fgets $Connection1024 );
        
              
    // Now tell it you're done with chatting
              
    fputs $Connection"QUIT\r\n");  
              
    // and close the connection
               
    fclose($Connection);  
        
              
    // finally test the resonses did we get OK (type 250) messages?
              
    if (ereg("^250"$Fromstring) && ereg("^250"$Tostring)) {
                
    // YAHOOO .. we got a good one
                
    return 0//  return successful validation
              
    } else {
                
    // the server refused the user
                
    return 1// return invalid address
              
    }
            } else {
              
    // connected, to something but it failed to identfy itself as an SMTP server 
              // so assume its a bogus address
              
    return 1// return invalid address error
            
    }
          } else {
            
    // it failed to connect 
            
    return 1// return i?†??    ? ?|E|E?????????††?????????????nvalid address or system error - its yo?†??    ? ?|E|E?????????††?????????????ur call
          
    }
        }
        
        
    $valid validateEmail($mail);
        
        
    echo 
    'response=invalid';

    switch (
    $valid) {

      case 
    0:
        if (
    mail($toaddress,$subject,$message,"From: $Nachname,$Name <$mail>"))
        {
            echo 
    'response=passed';
        }else
        {
            echo 
    'response=error';
        }
         
    //clear the variables
         
    echo 'response=passed';
         break;
      case 
    1:
         echo 
    'response=error';
         break;
      case 
    2:
         echo 
    'response=invalid';
         break;

    }
    //end switch 
    ?>
    ich hoffe ihr findet den fehler der mir verborgen bleibt

    Gruß Joerg

  • #2
    Re: Probleme mit mail funktion

    und wo sind deine kontrollausgaben zu debugging-zwecken ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      das is ne php datei die nciht auf dem schirm ausgegeben wird . . . . . wo soll ich mir da kontrollausgaben anzeigen lassen ???

      ( hab bis jetzt noch nicht soo viel mit php gemacht )

      Kommentar


      • #4
        mit echo-ausgaben an entsprechenden stellen macht man für gewöhnlich kontrollausgaben.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Original geschrieben von joerghamster
          das is ne php datei die nciht auf dem schirm ausgegeben wird . . . . .
          wo soll ich mir da kontrollausgaben anzeigen lassen ???

          ( hab bis jetzt noch nicht soo viel mit php gemacht )


          hast du schon versucht? hast du Angst davor, dass das Script sich
          dadurch selbst auflöst und, da du den Link zum Download nicht mehr
          hast, du das Script für immer verlierst?

          Kommentar


          • #6
            Also,

            Text-Mail:

            PHP-Code:
            mail("$empfaenger""$subject""Mein Kontaktformular\n\n\n\Infos: $message\n\n\n\n\n
            Diese Anfrage wurde abgeschickt am: 
            $date""From: $name <$mailadresse>"); 
            HTML-Mail:

            PHP-Code:
            $Header  =     "MIME-Version: 1.0\n"
            $Header .=     "Content-type: text/html; charset=iso-8859-1\n"
            $Header .=     "From: $name <$mail>\n"

            mail("$empfaenger""$subject""$HtmlMessage""$Header"); 
            Ich denke den rest kannst du Dir dann denken bzw. selber durch deine Variablen ersetzen bzw. anpassen.

            -> It`s good to be bad! <-

            http://de.php.net
            http://php-faq.de
            http://www.schattenbaum.net
            http://www.dreamcodes.com

            Kommentar


            • #7
              Original geschrieben von asp2php


              hast du schon versucht? hast du Angst davor, dass das Script sich
              dadurch selbst auflöst und, da du den Link zum Download nicht mehr
              hast, du das Script für immer verlierst?
              sehr lustig.

              ich meinte damit eher das ich keine ahnung hab wo ich die ausgaben mit echo sehe. die php datei wird von nem flash film aufgerufen und ich seh ncihtmal ob er sie durchläuft oder nicht. sorry das nciht alle die weisheit von geburt an gefüttert bekommen haben und manche leute noch fragen stellen müßen.

              Kommentar


              • #8
                boah ... ist das so schwer die php-datei mal von hand aufzurùfen? NEIN!
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar

                Lädt...
                X