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 附件文件ATT00001.txt_Php_Email_Email Attachments - Fatal编程技术网

Php 附件文件ATT00001.txt

Php 附件文件ATT00001.txt,php,email,email-attachments,Php,Email,Email Attachments,你能帮我修一下吗? 当我发送电子邮件时,我会收到附件,但附带一个名为ATT00001.txt的补充文件 // boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // header for attachment $header.= "\nMIME-Version: 1.0\n"."Content-Type: multipart/mixed;\n"." bou

你能帮我修一下吗? 当我发送电子邮件时,我会收到附件,但附带一个名为ATT00001.txt的补充文件

// boundary 
$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 

// header for attachment 
$header.= "\nMIME-Version: 1.0\n"."Content-Type: multipart/mixed;\n"." boundary=\"{$mime_boundary}\""; 

// multipart boundary 
$message = "This is a multi-part message in MIME format.\n\n"."--{$mime_boundary}\n"."Content-Type: text/html; charset=\"UTF-8\"\n"."Content-Transfer-Encoding: 8bit\n\n".$message."\n\n"; 
$message.= "--{$mime_boundary}\n";


  //Ajout des pieces jointes si il y en a
  if(!empty($attach)){
    foreach($attach as $pj){
      $file = fopen($pj,"rb");
      $data = fread($file,filesize($pj));
      fclose($file);
      $data = chunk_split(base64_encode($data));
      $fileName = basename($pj);
      $message.= "Content-Type: {\"application/octet-stream\"};\n"." name=\"$pj\"\n"."Content-Disposition: attachment;\n"." filename=\"$fileName\"\n"."Content-Transfer-Encoding: base64\n\n".$data."\n\n";
      $message.= "--{$mime_boundary}\n";    
    }
  }

您的最终MIME边界应该在其后面加上前面加上
--
,以指示它是最后一个。没有它,一个未标记的额外部分出现在末尾,不包含任何内容,这通常被视为一个未命名的附件,并由您的电子邮件客户端提供一些合理的默认值-在本例中,为其分配一个递增的文件名并将其视为纯文本文件;我不再接收附件,这是正常的吗?您的最终MIME边界应该在它后面加上它之前的
--
,以表明它是最后一个。没有它,一个未标记的额外部分出现在末尾,不包含任何内容,这通常被视为一个未命名的附件,并由您的电子邮件客户端提供一些合理的默认值-在本例中,为其分配一个递增的文件名并将其视为纯文本文件;我不再收到附件,这正常吗?