PHP邮件多重附加



我写了这个代码来发送多个附件:

    $tablica_plikow=$_FILES["file"]; //array of files
if(!empty($tablica_plikow['name'])){///if attachment 
          $uid = md5(uniqid(time()));
    $header =  "From: odn";
    $header .= "MIME-Version: 1.0rn";
    $header .= "Content-Type: multipart/mixed; boundary="".$uid.""rnrn";
    $header .= "--".$uid."rn";
    $header .= "Content-type:text/html; charset=iso-8859-2rn";
    $header .= "Content-Transfer-Encoding: 7bitrnrn";
    $header .=win2iso( $_POST['tresc'])."rnrnrnrnrnrn";///message
    $header .= "--".$uid."rn";
    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].""rn"; // use different content types here
    $header .= "Content-Transfer-Encoding: base64nr".$content."rnrn";;
    $header .= "Content-Disposition: attachment; filename="".$tablica_plikow["name"][$i].""rnrn";
   // $header .= $content."rnrn";
    $header .= "--".$uid."-- rn";
            }
        }
    }
     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";
      }

但当我发送带有两个或多个附件的电子邮件时,只收到一个文件。此文件是所有附件的串联。但文件的第一部分是第一个附件,其他部分只是散列映射其他文件。

我会使用一个库,例如

  • Zend_Mail
  • 梨邮件时间

我建议您使用PHP Mailer。

我建议您使用标准的、经过测试的邮件库,如phpMail

之前已经在这里讨论过了。请参阅php 中的附件电子邮件

感谢

:)

相关内容

  • 没有找到相关文章

最新更新