E-Mail Attachement

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

  • E-Mail Attachement

    Hallo Board!

    Bin am Verzweifeln: ich möchte ein Attachement an eine E-Mail anhängen. Unten mein Code. Folgendes passiert:

    - der Anhang wird in bspw. Outlook angezeigt (okay)
    - der Anhang hat die richtige Dateigröße (okay)
    - der Anhang kann nicht dargestellt werden (z.B. in Excel sehe ich statt den ursprümglichen Daten nur Zeichen)
    - die Nachricht ($_POST['message1'] wird mir ebenfalls - wo wir gerade bei Excel sind - in der ersten Excelzelle angezeigt

    Bitte um Hilfe!

    MfG

    mo-nulllzwo


    PHP-Code:

    if(isset($_POST['sendmail']))  // Nachricht wird verschickt (nicht geschrieben!)
    {
        
    /*if(empty($_POST['to1']) or empty($_POST['subject1']) or empty($_POST['message1']))
        {
            $angaben_unvollstaendig=1;
        }
        else
        {*/
            
    if(!empty($_FILES['attachement']['name']))
            {
                
    $boundary strtoupper(md5(uniqid(time())));
                  
    $header .= "MIME-Version: 1.0";
                  
    $header .= "\nContent-Type: multipart/mixed; boundary=\"$boundary\"";

                  
    $header .= "\n\nThis is a multi-part message in MIME format\n".
                 
    "Dies ist eine mehrteilige Nachricht im MIME-Format\n";

                  
    $header .= "\n--$boundary";
                  
    $header .= "\nContent-Type: text/plain";
                  
    $header .= "\nContent-Transfer-Encoding: 8bit";
                  
                  
    $FileName=$_FILES['attachement']['name'];
                   
    $FileName=$_FILES['attachement']['name'];
                   
    $fd=fopen($_FILES['attachement']['tmp_name'], "r");
                   
    $FileContent=fread($fd,filesize($_FILES['attachement']['tmp_name']));
                   
    fclose ($fd);
                   
    $FileContent chunk_split(base64_encode($FileContent));
                
                   
    $_POST['message1'].=$FileContent;
            
                  
    $header .= "\n--$boundary"
                
    $header .= "\nContent-Type: application/octetstream;".
                       
    "\n        name=\"".$FileName."\"";
                
    $header .= "\nContent-Transfer-Encoding: base64";
                
    $header .= "\nContent-Disposition: inline;".
                       
    "\n        filename=\"".$FileName."\"";
                
    //$header .= "\n$FileContent";
            
             
    }
            
    $sendmail_okay=imap_mail($_POST['to1'], $_POST['subject1'], $_POST['message1'], $header$_POST['copy1'], $_POST['copy2'], $_POST['returnpath1']);
            if(
    $sendmail_okay)
            {
                echo 
    "Nachricht(en) wurde erfolgreich gesendet <p>";
                echo 
    "<a href=\"".$_SERVER['PHP_SELF']."?list=1\">Übersicht</a>";
            }
            else
            {
                echo 
    "Fehler";
            }
        
    //}

Lädt...
X