php - 邮件附件不同

时间:2012-07-12 15:28:17

标签: php function email attachment

这是我用来发送邮件的php函数(在这里找到它,它不是我的):

function send_email($to, $subject, $msg, $from, $file){

$separator = md5(time());

$eol = PHP_EOL;

$attachment = chunk_split(base64_encode($file));

$headers  = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"";

$body = "--".$separator.$eol;
$body .= "Content-Transfer-Encoding: 7bit".$eol.$eol;

$body .= "--".$separator.$eol;
$body .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$body .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$body .= "<pre>".$msg."</pre>".$eol;

$body .= "--".$separator.$eol;
$body .= "Content-Type: application/octet-stream; name=\"".$file."\"".$eol; 
$body .= "Content-Transfer-Encoding: base64".$eol;
$body .= "Content-Disposition: attachment".$eol.$eol;
$body .= $attachment.$eol;
$body .= "--".$separator."--";

mail($to, $subject, $body, $headers);

}

正文正确,但附件文件不同。我不知道为什么,但我认为它被覆盖了......

这就是我调用函数的方式:

send_email( $_POST['email'], 'Your CV file', $msg, 'admin@mydomain.com', basename( $_FILES['file']['name']) )

附件文件应由用户上传。我已经检查了上传的文件,它与我上传的文件相同,但发送后却不同。我不知道该怎么做。

谢谢!

0 个答案:

没有答案