ilch Forum » Allgemein » HTML, PHP, SQL,... » E-Mail mit Bildanhang versenden

Geschlossen
  1. #1
    User Pic
    sven123 Mitglied
    Registriert seit
    07.07.2004
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Also mit diesem Code versuche ich der E-Mail die ich versenden will ein Bild als atachement anzuhängen funtzt aber nicht warum.die erforderlichen Daten werden über ein HTML Eingabefeld bereitgestellt.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title>form3</title>
    </head>
    
    <body>
    <?
    $e =$HTTP_POST_VARS["Inhalt"];
    $send=$HTTP_POST_VARS["adresse"];
    $datei=fopen("maillog.txt","a");
    fwrite($datei,"Empfänger:".$e."\n");
    fwrite($datei,"Sender:".$send."\n");
    fclose($datei);
    ?>
    
    <?
    $frei=$HTTP_POST_VARS["code"];
    if($frei=="Spam")
      {
      $sumo=$HTTP_POST_VARS["anzahl"];
      for($zaehler=0;$zaehler<1+$sumo;$zaehler++)
      {
      $empfaenger =$HTTP_POST_VARS["Inhalt"];
      $betreff =$HTTP_POST_VARS["derbetreff"];
      $sender =$HTTP_POST_VARS["sendersname"];
      $sendermail=$HTTP_POST_VARS["adresse"];
      $text =$HTTP_POST_VARS["dertext"];
      mail($empfaenger, $betreff, $text,
           "From: $sender <$sendermail>");
      }
      }
      ?>
      <?
        $empfaenger =$HTTP_POST_VARS["Inhalt"];
      $betreff =$HTTP_POST_VARS["derbetreff"];
      $sender =$HTTP_POST_VARS["sendersname"];
      $sendermail=$HTTP_POST_VARS["adresse"];
      $text =$HTTP_POST_VARS["dertext"];
      $grenze="grenzlinie";
    $name_des_bildes=$HTTP_POST_FILES['datei']['name'];
    $headers ="MIME-Version: 1.0\r\n";
    $headers.="From: $mailaddi\n";
    $headers.="Content-Type: multipart/mixed;\n\tboundary=$grenze\n";
    $botschaft<I></I>="\n--$grenze\n";
    <?
    $botschaft.="Content-transfer-encoding: 7BIT\r\n";
    $botschaft.="Content-type: text/plain\n\n";
    $botschaft.= "$text";
    $botschaft.="\n\n";
    $botschaft.="\n--$grenze\n";
    $botschaft.="Content-Type: application/octetstream;\n\tname=$name_des_bildes\n";
    $botschaft.="Content-Transfer-Encoding: base64\n";
    $botschaft.="Content-Disposition: attachment;\n\tfilename=$name_des_bildes\n\n";
    $zeiger_auf_datei=fopen("$datei","rb");
    $inhalt_der_datei=fread($zeiger_auf_datei,filesize("$datei"));
    fclose($zeiger_auf_datei);
    $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
    $botschaft.=$inhalt_der_datei;
    $botschaft.="\n\n";
    $botschaft.="--$grenze";
      mail($empfaenger, $betreff,$botschaft,$headers,
           "From: $sender <$sendermail>");
    ?>
      
    
    </body>
    </html>

    Danke für die Hilfe
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    manuel ilch-Gründer
    Registriert seit
    22.03.2003
    Beiträge
    4.260
    Beitragswertungen
    4 Beitragspunkte
    hi sven123... du ich kenn mich mit diesem email verschick dings nicht aus zunge... ich hab hier was fertiges was ich mal vor einiger zeit zusammen gesucht hab +g+
    vielleicht hilft dir das ja was....

    <?php 
    switch ($go) { 
    case "" :  
    ?> 
    <h3>Mail mit Datei Anhang senden</h3> 
    <form method="POST" action="<? echo $PHP_SELF;?>?go=save" enctype="multipart/form-data"> 
    Betreff 
    <input type="text" name="email_subject"> 
    Empfänger Mail! 
    <input  type="text" name="email_to"> 
    Deine Mail 
    <input type="text" name="email_from"> 
    Deine Nachricht 
    <textarea cols="20" rows="5" name="email_message"></textarea> 
    Datei die du senden möchtest * 
    <input type="file" name="file" size="30"> 
    <button name="submit" type="submit">Senden</button> 
    </form> 
    * = OPTIONAL 
    <?php 
    break;  
    case "save" :  
    $fileatt_type = "application/octet-stream"; 
    $headers = "From: ".$email_from; 
    $fileatt = $file; 
    $fileatt_name = $file_name; 
    $file = fopen($fileatt,'rb'); 
    $data = fread($file,filesize($fileatt)); 
    fclose($file); 
    $semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
    $headers .= "\nMIME-Version: 1.0\n" . 
                "Content-Type: multipart/mixed;\n" . 
                " boundary=\"{$mime_boundary}\""; 
    $email_message = "This is a multi-part message in MIME format.\n\n" . 
                     "--{$mime_boundary}\n" . 
                     "Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
                     "Content-Transfer-Encoding: 7bit\n\n" . 
    $email_message . "\n\n"; 
    $data = chunk_split(base64_encode($data)); 
    
    $email_message .= "--{$mime_boundary}\n" . 
                      "Content-Type: {$fileatt_type};\n" . 
                      " name=\"{$fileatt_name}\"\n" . 
                      "Content-Transfer-Encoding: base64\n\n" . 
                     $data . "\n\n" . 
                      "--{$mime_boundary}--\n"; 
    $ok = @mail($email_to, $email_subject, $email_message, $headers); 
    
    if($ok) { 
        echo "<font face=verdana size=2>die e-mail wurde erfolgreich gesendet!!</font>"; 
    } else { 
        die("e-mal konnte nicht verdendet werde. bitte versuchen sie es erneut!!"); 
    } 
    break;  
    }  
    ?>
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten