2012-03-31 8 views
0

ich writte diesen Code mehrere Anlagen senden:PHP mehrere E-Mail anhängen

$tablica_plikow=$_FILES["file"]; //array of files 
if(!empty($tablica_plikow['name'])){///if attachment 
      $uid = md5(uniqid(time())); 

    $header = "From: od\n"; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 

    $header .= "--".$uid."\r\n"; 
    $header .= "Content-type:text/html; charset=iso-8859-2\r\n"; 
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
    $header .=win2iso($_POST['tresc'])."\r\n\r\n\r\n\r\n\r\n\r\n";///message 
    $header .= "--".$uid."\r\n"; 

    for($i=0; $i<count($tablica_plikow['name']); $i++){ 

    if ($tablica_plikow["error"][$i] > 0) 
    { $komunikat = "<img src=\"img_panel/bttn_error.gif\">"."Return Code: " . $tablica_plikow["error"][$i] ; 


    } 
    if (file_exists("zalacznik/" . $tablica_plikow["name"][$i])) 
     { 

     $komunikat = "<img src=\"img_panel/bttn_error.gif\">"."Return Code: " . $tablica_plikow["name"][$i]. " already exists. " ; 

     } 
    else 
     { 
     if(is_uploaded_file($tablica_plikow["tmp_name"][$i])) { 
    move_uploaded_file($tablica_plikow["tmp_name"][$i], 
    "zalacznik/" . $tablica_plikow["name"][$i]); 
    $komunikat = "<img src=\"img_panel/bttn_info.gif\">" . "zalacznik/" . $tablica_plikow["name"][$i]; 

    $target_path="zalacznik/" . $tablica_plikow["name"][$i]; 
    $file = "zalacznik/".$tablica_plikow["name"][$i]; 
    $file_size = filesize($file); 
    $handle = fopen($file, "rb"); 
    $content = fread($handle, $file_size); 
    fclose($handle); 
    $content = chunk_split(base64_encode($content)); 
    $name = basename($file); 
    $header .= "Content-Type: ".$tablica_plikow["type"][$i]." name=\"".$tablica_plikow["name"][$i]."\"\r\n"; // use different content types here 
    $header .= "Content-Transfer-Encoding: base64\n\r".$content."\r\n\r\n";; 
    $header .= "Content-Disposition: attachment; filename=\"".$tablica_plikow["name"][$i]."\"\r\n\r\n"; 
    // $header .= $content."\r\n\r\n"; 
    $header .= "--".$uid."-- \r\n"; 

      } 
     } 
    } 
    if (mail("[email protected]", $_POST['tytul'], "", $header)) { 

     $komunikat = "<img src=\"img_panel/bttn_info.gif\">mail send"; 


    } else { 
     $komunikat = "<img src=\"img_panel/bttn_error.gif\">error"; 

     } 

Aber wenn ich eine E-Mail mit zwei oder mehreren Anlagen senden, empfangen nur eine Datei Dateien auszuführen.Diese eine Verkettung aller Anhänge ist. Aber der erste Teil der Datei ist der erste Anhang, und andere Teile sind nur andere Dateien hashmap.

Antwort

-1

ich Rat Sie Standard verwenden und getestet Mailing-lib wie phpMail

Es wurde hier diskutiert, bevor Sie sehen regarding email with attachment in php

Dank

:)

+0

Ich stimme überhaupt nicht mit dieser Art von Antwort: Wenn jemand um Hilfe mit einer PHP-Funktion bitten, antworten Sie bitte nicht mit "diese Bibliothek stattdessen verwenden". – realtebo

0

Ich würde eine Bibliothek zB verwenden.

  • Zend_Mail
  • Birne Mail_Mime