Saludos:
Es la primera vez que pregunto en un foro pero es que esta vez no encuentro nada parecido a mi problema (debo ser muy burro para ser el único).
Envío un mensaje con adjuntos com mail (PHP) y la imágenes y textos adjuntados se reciben perfectamente, pero si envío .DOC, .XLS ó .PDF al abrir el correo y descargar dicho adjunto se abre la aplicación (ej Word 2002) y me "dice": Microsoft Word necesita un convertidor para mostrar este archivo correctamente.
Creo que lo he probado todo y nada...
La parte de interés de mi código es:
 
    (...)
    $cabeceras = "From:". $_POST["nombre"]." <".$_POST["email"].">\n";
    $cabeceras .= "Reply-To: $email\n";
    $cabeceras .= "MIME-version: 1.0\n";
    $cabeceras .= "Content-type: multipart/mixed; ";
    $cabeceras .= "boundary=\"Message-Boundary\"\n";
    $cabeceras .= "Content-transfer-encoding: 7bit\n";
    $cabeceras .= "X-attachments: fichero.bin";
    $mensaje = "NOMBRE: ".$_POST["nombre"]."\n";
    (..)
    $body_top = "--Message-Boundary\n";
    $body_top .= "Content-type: text/plain; charset=ISO-8859-1\n";
    $body_top .= "Content-transfer-encoding: 7bit\n";
    $body_top .= "Content-description: Datos del remitente\n\n";
    $cuerpo = $body_top.$mensaje;
    (...)
        $body_top = "--Message-Boundary\n";
        $body_top .= "Content-type: text/plain; charset=ISO-8859-1\n";
        $body_top .= "Content-transfer-encoding: 7bit\n";
        $body_top .= "Content-description: Pedidos\n\n";
        $cuerpo .= $body_top.$pedido;
    }
 if ($_FILES['userfile']['name']){
        $nombref = $_FILES['userfile']['name'];
        $tipof = $_FILES['userfile']['type'];
        $tamf = $_FILES['userfile']['size'];
        $ntempf = $_FILES['userfile']['tmp_name'];
        $file = fopen($ntempf, "r");
        $contenido = fread($file, $tamf);
        $encoded_attach = chunk_split(base64_encode($contenido));
        fclose($file);
        $body_top = "--Message-Boundary\n";
        $body_top .= "Content-type:\"$tipof\";  name=\"$nombref\"; charset=ISO-8859-1\n";
        $body_top .= "Content-transfer-encoding: base64\n";
        $body_top .= "Content-disposition: attachment; filename=\"$nombref\"\n\n";        $cuerpo .= $body_top.$encoded_attach;
    }
    if(!mail($para, $asunto, $cuerpo, $cabeceras))
    (...)
 
MUCHAS GRACIAS 
  
 
