Php CSV电子邮件附件也与邮件正文内联显示

Php CSV电子邮件附件也与邮件正文内联显示,php,email,csv,mime,email-attachments,Php,Email,Csv,Mime,Email Attachments,我在这里阅读了所有类似的问题,并查看了其他网站上的许多示例 尽管我相信我的设置是正确的,但我的CSV附件的内容与正文消息内联显示,并且显示为附件。附件将打开并正确呈现,但邮件正文如下所示: 报告附呈 付款对账.csv 客户、发票、验证人、过账日期、付款、状态、付款日期、付款金额 4562721395164,已验证-截至2014年4月30日17:15:33,135927,2014-04-30850.00秋季 6554691395163,已验证-截至2014年4月30日17:13:17,135926

我在这里阅读了所有类似的问题,并查看了其他网站上的许多示例

尽管我相信我的设置是正确的,但我的CSV附件的内容与正文消息内联显示,并且显示为附件。附件将打开并正确呈现,但邮件正文如下所示:

报告附呈

付款对账.csv

客户、发票、验证人、过账日期、付款、状态、付款日期、付款金额 4562721395164,已验证-截至2014年4月30日17:15:33,135927,2014-04-30850.00秋季 6554691395163,已验证-截至2014年4月30日17:13:17,135926,2014年4月30日2275.00 3515881395161,已验证-截至2014年4月30日17:16:54,135924,2014-04-30595.00 784441395160,已验证-截至2014年4月30日秋季

以下是创建标题的代码部分:

     $myfile = "payment_reconciliation.csv";

     $uid = md5(uniqid(time()));

    $header = "From: ".$from_name." <".$from_mail.">\r\n";
    $header .= "Reply-To: ".$replyto."\r\n";
    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
    $header .= "This is a multi-part message in MIME format.\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-type:text/html; charset=iso-8859-1\r\n";
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $header .= $message."\r\n\r\n";
    $header .= "--".$uid."\r\n";
    $header .= "Content-Type: text/csv; name=\"".$myfile."\"\r\n"; 
    $header .= "Content-Transfer-Encoding: base64\r\n";
    $header .= "Content-Disposition: attachment; filename=\"".$myfile."\"\r\n\r\n";
    $header .= $content."\r\n\r\n";
    $header .= "--".$uid."--";


   mail($to, $subject, $message, $header);

有人发现我丢了什么吗?谢谢。

不要像这样创建电子邮件,请使用phpmailer或swiftmailer。@Dagon。听了你的建议,使用了PHPMailer。也使用PHPExcel。问题解决了。