attachment wird nicht mit gesendet.

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

  • attachment wird nicht mit gesendet.

    hi.
    wieso geht das formular nicht.
    der dateianhang wir nciht mit gesendet.
    habe aber alles richtig gemacht , glaube ich !?!



    PHP-Code:
    <?php
    # Adresse, an die die Formulardaten gesendet werden sollen:
    $mailto "eclipse_240_hp@gmx.net";

    # Maximale Größe des Attachments in Bytes:
    $max_attach_size 500000;
    ?>

      <html>
    <head>
    <title></title>
    </head>

    <?php
    function check_len(&$check$field$max, &$err_field$err=""$min=0$min_err="")
    {
      if (
    strlen($field) > $max)
      {
         if (
    $err == "")
         {
           
    $err 'Feld ist zu lang';
         }
         
    $err_field $err;
         
    $check false;
      }
      if (
    strlen($field) < $min)
      {
         if (
    $min_err == "")
         {
           
    $min_err 'Feld ist zu kurz';
         }
         
    $err_field $min_err;
         
    $check false;
      }
    }


    function 
    check_mail(&$check$fld, &$err_field$err='')
    {
        if (
    strpos($fld'@') === false)
        {
          if (
    $err=='')
          {
            
    $err_field 'e-Mail fehlerhaft';
          } else {
            
    $err_field $err;
          }
          
    $check false;
        }

        if (
    function_exists('checkdnsrr'))
        {
            list(
    $user$host) = explode('@'$fld);
            if ( 
    checkdnsrr ($host'MX') or checkdnsrr ($host'A' ) )
            {
                
    // echo  'E-Mail ist OK';
            
    } else {
                if (
    $host ' ')
                {
                  if (
    $err=='')
                  {
                    
    $err_field 'Die Angabe "' $host '" scheint keine gültige Domain zu sein';
                  } else {
                    
    $err_field $err;
                  }
                  
    $check false;
                } else {
                  if (
    $err=='')
                  {
                    
    $err_field 'e-Mail unvollständig';
                  } else {
                    
    $err_field $err;
                  }
                  
    $check false;
                }
            }
        } else {
            
    // echo 'keine weitere Prüfung';
        
    }
    }

    if (empty(
    $HTTP_POST_VARS["anrede"])) $HTTP_POST_VARS["anrede"]="Herr,Frau";
    if (empty(
    $err_anrede)) $err_anrede="&nbsp;";
    if (empty(
    $HTTP_POST_VARS["name"])) $HTTP_POST_VARS["name"]="";
    if (empty(
    $err_name)) $err_name="&nbsp;";
    if (empty(
    $HTTP_POST_VARS["vorname"])) $HTTP_POST_VARS["vorname"]="";
    if (empty(
    $err_vorname)) $err_vorname="&nbsp;";
    if (empty(
    $HTTP_POST_VARS["email"])) $HTTP_POST_VARS["email"]="";
    if (empty(
    $err_email)) $err_email="&nbsp;";


    $checked true;
    if (isset(
    $HTTP_POST_VARS["sent"]))
    {
      
    check_len($checked$HTTP_POST_VARS["anrede"],10,$err_anrede,"Eingabe zu lang! Maximale Länge:10",0,"Eingabe erforderlich! Mindesteingabe Länge:1");
      
    check_len($checked$HTTP_POST_VARS["name"],20,$err_name,"Eingabe zu lang! Maximale Länge:20",0,"Eingabe erforderlich! Mindesteingabe Länge:1");
      
    check_len($checked$HTTP_POST_VARS["vorname"],20,$err_vorname,"Eingabe zu lang! Maximale Länge:20",0,"Eingabe erforderlich! Mindesteingabe Länge:1");
      
    check_len($checked$HTTP_POST_VARS["email"],30,$err_email,"Eingabe zu lang! Maximale Länge:30",0,"Eingabe erforderlich! Mindesteingabe Länge:1");
     
    check_mail($checked$HTTP_POST_VARS["email"], $err_email,"Die e-Mail enthält ungültige Zeichen oder ist ungültig.");

    }
    if ( empty(
    $HTTP_POST_VARS["sent"]) or (!$checked) )
    {

    // Wenn Attachment, dann MIME-Mail erstellen:
    if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
    {
    // Datei einlesen und codieren:
    $datei_content fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
    $datei_content chunk_split(base64_encode($datei_content),76,"\n");

    // Boundary festlegen:
    $boundary md5(uniqid(rand()));

    // Mail-Header:
    $mail_header "From: ".$mail_name." <".$mail_email.">\n";
    $mail_header .= "X-Sender-IP: ".$ip."\n";
    $mail_header .= "MIME-Version: 1.0\n";
    $mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
    $mail_header .= "This is a multi-part message in MIME format.\n";
    // Mail-Text:
    $mail_header .= "--".$boundary;
    $mail_header .= "\nContent-Type: text/plain";
    $mail_header .= "\nContent-Transfer-Encoding: 8bit";
    $mail_header .= "\n\n".$text;
    // Attachment:
    $mail_header .= "\n--".$boundary;
    $mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\"";
    $mail_header .= "\nContent-Transfer-Encoding: base64";
    $mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\"";
    $mail_header .= "\n\n".$datei_content;

    // Ende:
    $mail_header .= "\n--".$boundary."--";
    // Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
    if (@mail($mailto ,$mail_subject,"",$mail_header,"-f [email]Mail@mydomain.de[/email]")) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
    }
    // kein Attachment, normale E-Mail:
    else
    {
    $mail_header "From: ".$mail_name." <".$mail_email.">\n";
    $mail_header .= "X-Sender-IP: $ip\n";
    $mail_header .= "Content-Type: text/plain";
    if (@
    mail($mailto,$mail_subject,$text,$mail_header,"-f [email]Mail@mydomain.de[/email]")) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
    }

    // Kopie an Absender:
    if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
    {
    if (isset(
    $_FILES['probe']['name']) && trim($_FILES['probe']['name']) != ""$copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text."\n\nAttachment: ".$_FILES['probe']['name']; else $copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text;
    $header"From: ".$mailto."\n";
    $header .= "X-Sender-IP: ".$ip."\n";
    $header .= "Content-Type: text/plain";
    @
    mail($email$mail_subject$copy_mail_text$header,"-f [email]Mail@mydomain.de[/email]");
    }
    }

    if (empty(
    $sent))
    {
    if(isset(
    $errors))

    ?><p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f?></li><?php ?></ul><br /><?php
    }

    ?>

    <form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"><div><table cellpadding="4" border="0">
    <tr><td valign="top">Anrede:</td><td>
    <select size="1" name="anrede"><option value="Herr"<?php if ($HTTP_POST_VARS["anrede"]== 'Herr') echo ' SELECTED="SELECTED"'?>>Herr</option>
    <option value="Frau"<?php if ($HTTP_POST_VARS["anrede"]== 'Frau') echo ' SELECTED="SELECTED"'?>>Frau</option>
    </select>
    </td><td>
    <?php echo $err_anrede ?>
    </td></tr>
    <tr><td valign="top">*Name:</td><td>
    <input type="text" name="name" value="<?php echo $HTTP_POST_VARS["name"?>">
    </td><td>
    <?php echo $err_name ?>
    </td></tr>
    <tr><td valign="top">*Vorname:</td><td>
    <input type="text" name="vorname" value="<?php echo $HTTP_POST_VARS["vorname"?>">
    </td><td>
    <?php echo $err_vorname ?>
    </td></tr>
    <tr><td valign="top">*E-Mail:</td><td>
    <input type="text" name="email" value="<?php echo $HTTP_POST_VARS["email"?>">
    </td><td>
    <?php echo $err_email ?>
    </td></tr>
    <table align="center">
    <tr><td valign="top"><div align="center">Wählen Sie eine Bilddatei von ihrem Rechner aus:<br>(Die optimale Bildgröße ist 230x230 px).</div></td></tr>
    <tr><td>
    <p><b>Wählen Sie ein Bild:</b><br /><input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""?>" size="20"/></p>
    <br />
    <td>
    <?php echo $err_datei ?>
    </td></tr>
    </table>
    <br>

    <table align="center">
    <tr>
     <td><input type="hidden" name="sent" value="sent"><input type="submit" name="submit" value="Absenden"> </td>
     <td><input type="reset"> </td>
    </tr>
    </table>

    </table><input type="checkbox" name="copy" value="true" /> Kopie an Absender</p>
    </div></form>


    <?php

    if (isset($HTTP_POST_VARS["sent"]) and ($checked) ) {
      
    $msg "Sie haben eine Bestellung erhalten!\n";
      
    $msg .= "anrede=".$HTTP_POST_VARS["anrede"]."\n";
      
    $msg .= "name=".$HTTP_POST_VARS["name"]."\n";
      
    $msg .= "vorname=".$HTTP_POST_VARS["vorname"]."\n";
      
    $msg .= "email=".$HTTP_POST_VARS["email"]."\n";
      
    mail($mailto,"Danke für die bestellung",
    $msg);
      echo 
    "Email wurde gesendet an: [email]eclipse_240_hp@gmx.net[/email]<br>\n";
       echo 
    nl2br($msg) . "<br>\n";
      echo
    "Bitte klichen Sie <a href=\"http://kontakt.html\">hier</a>um zu den Bankdaten zu gelangen.";

    }
    ?>

    </body>
    </html>

  • #2
    Re: attachment wird nicht mit gesendet.

    Original geschrieben von beavis-2005
    habe aber alles richtig gemacht , glaube ich !?!
    Nein, hast du nicht.

    Abgesehen davon, dass du den Code mal wieder nicht umgebrochen hast, ist das auch schon wieder ein Doppelposting -> *trash*

    Setze gefälligst deinen ursprünglichen Thread unter Einhaltung der Regeln fort.
    http://www.php-resource.de/forum/sho...threadid=64906
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X