<?php
  // on génère une frontière
  $boundary = '-----=' . md5( uniqid ( rand() ) );

  // on va maintenant lire le fichier et l'encoder
  $path = 'word.doc'; // chemin vers le fichier
  $fp = fopen($path, 'rb');
  $content = fread($fp, filesize($path));
  fclose($fp);
  $content_encode = chunk_split(base64_encode($content));

  $headers  = "From: \"toto\"<patrice.delpy@@neuf.fr>\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";

  $message  = "Ceci est un message au format MIME 1.0 multipart/mixed.\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";  // 'application/msword
  $message .= "Content-Transfer-Encoding: 8bit\n\n";
  $message .= "Salut Alphonse, \n\n";
  $message .= "Voila le fichier que tu m'as demandé\n";
  $message .= "\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: image/gif; name=\"fichier.gif\"\n";
  $message .= "Content-Transfer-Encoding: base64\n";
  // mettez inline au lieu de attachment
  // pour que l'image s'affiche dans l'email
  $message .= "Content-Disposition: attachment; filename=\"fichier.gif\"\n\n";
  $message .= $content_encode . "\n";
  $message .= "\n\n";
  $message .= "--" . $boundary . "--\n";

  mail('patrice.delpy@neuf.fr', 'le fichier demandé', $message, $headers);
?>