2012-09-11 75 views
1

我有发送多个附件的邮件的代码.. 当我提交邮件时,文件附加在邮件中...购买我的短信不会出现在邮件中(我的信息:xxxxxxx)发送带附件的邮件

$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 
$email = $_POST["email"]; 
$phone = $_POST["phone"]; 
$address = $_POST["address"]; 
$freetext = $_POST["freetext"]; 
    ///// 

$ mime_boundary = “== Multipart_Boundary_x” .md5(mt_rand()) “×”。;

 $headers = "From: '".$email."'\r\n" . 
    "MIME-Version: 1.0\r\n" . 
     "Content-Type: multipart/mixed; charset=utf-8 ; boundary=$sep\n" . 
     " boundary=\"{$mime_boundary}\""; 

    $message = "xxxxxx" . 
     "--{$mime_boundary}\n" . 
     "Content-Type: text/html; charset=utf-8\n\n" . 
     "Content-Transfer-Encoding: 7bit\n\n" . 
     "\n\n"; 

    foreach($_FILES as $userfile) 
    { 
     $tmp_name = $userfile['tmp_name']; 
     $type = $userfile['type']; 
     $name = $userfile['name']; 
     $size = $userfile['size']; 

     if (file_exists($tmp_name)) 
     { 
      if(is_uploaded_file($tmp_name)) 
      { 
       $file = fopen($tmp_name,'rb'); 

       $data = fread($file,filesize($tmp_name)); 

       fclose($file); 

       $data = chunk_split(base64_encode($data)); 
      } 

      $message .= "--{$mime_boundary}\n" . 
       "Content-Type: {$type};\n" . 
       " name=\"{$name}\"\n" . 
       "Content-Disposition: attachment;\n" . 
       " filename=\"{$fileatt_name}\"\n" . 
       "Content-Transfer-Encoding: base64\n\n" . 
      $data . "\n\n"; 
     } 
    } 

    $message .="--{$mime_boundary}--\n"; 

如果(电子邮件($支持,$ txt_new_member,$消息,$头)) 回声 “邮件发送成功。” else echo“邮件中的错误”;

请帮忙吗?

回答

1

我建议你使用PHP梅勒 - http://sourceforge.net/projects/phpmailer/

+0

或[swiftmailer(http://swiftmailer.org/)。除了通过“手”将电子邮件拼凑在一起之外。 – vstm

+0

我可以编辑上面的代码:S? – michael

+0

你试过在xxxx之后放置'\ n'吗? –