Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件多附件_Php_Email_Attachment - Fatal编程技术网

PHP邮件多附件

PHP邮件多附件,php,email,attachment,Php,Email,Attachment,我编写此代码以发送多个附件: $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 .= "Con

我编写此代码以发送多个附件:

    $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("mail@moj.com", $_POST['tytul'], "", $header)) {

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


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

      }

但当我发送包含两个或多个附件的电子邮件时,只会收到一个文件。此文件是所有附件的串联。但是文件的第一部分是第一个附件,其他部分只是hashmap其他文件。

我会使用一个库,例如

Zend_邮件 Pear Mail_Mime
我建议您使用标准且经过测试的邮件库,如phpMail

这里已经讨论过了,请参见

谢谢


我建议您使用。

我绝对不同意这种回答:如果有人要求帮助使用php函数,请不要使用此库。