... creo el problema es que no estas dividiendo bien el contenido de tu correo.
Prueba con esto:
Código PHP:
// Adjuntar el fichero
$mensaje = "\n\n--Message-Boundary\n";
$mensaje .= "Content-type: Binary; name=\"$archivo\"\n";
$mensaje .= "Content-Transfer-Encoding: BASE64\n";
$mensaje .= "Content-disposition: attachment; filename=\"$archivo\"\n\n";
$mensaje .= "$buffer\n";
// Mensaje de texto plano
$mensaje .= "--Message-Boundary\n";
$mensaje .= "Content-type: text/plain; charset=ISO-8859-1\n";
$mensaje .= "Content-transfer-encoding: 7BIT\n";
$mensaje .= "Content-description: Mail message body\n\n";
$mensaje .=$mensaje_texto;
$mensaje .= "\n\n--Message-Boundary--\n"; // esta línea al final (estaba entre el adjunto y el contenido)... agrego un par de saltos de línea
... aunque si me preguntas, creo es "meter" los adjuntos hasta el final (antes el contenido), por simple órden..
Espero sirva. Suerte!
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
PD: Por favor ocupa las etiquetas para código PHP