Есть у меня функция которая отправляет письмо вместе с файлом:
| Код | function send_mail($to, $msg, $subject, $fromaddress, $fromname) {
// -=-=-=- MIME BOUNDARY
$mime_boundary = "----Sandro----".md5(time());
// -=-=-=- MAIL HEADERS
$headers = "From: ".$fromname." <".$fromaddress.">\n"; $headers .= "Reply-To: ".$fromname." <".$fromaddress.">\n"; $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary\"\n";
// -=-=-=- HTML EMAIL PART $message = "--$mime_boundary\n"; $message .= "Content-Type: text/html; charset=UTF-8\n"; $message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $msg."\n\n";
if (is_uploaded_file($_FILES['attachment']['tmp_name'])){ $file=&$_FILES['attachment']; $f = fopen($file['tmp_name'],'rb'); $data = fread($f,filesize($file['tmp_name'])); fclose($f); $message .= "--$mime_boundary\n"; $message .= 'Content-Type: '.$file['type'].';\n'; $message .= ' name="'.basename($file['name']).'"\n'; $message .= 'Content-Disposition: attachment;\n'; $message .= ' filename="'.basename($file['name']).'"\n'; $message .= 'Content-Transfer-Encoding: base64\n\n'; $message .= chunk_split(base64_encode($data)).'\n\n'; }
// -=-=-=- FINAL BOUNDARY
$message .= "--$mime_boundary--\n\n";
// -=-=-=- SEND MAIL
$mail_sent = @mail( $to, $subject, $message, $headers ); }
|
Но файл доходит некоректно. То есть например картинка приходящая на электроную почту не отображается. Может кто знает в чём я ошибся? |