gracias tio funciona bien dejo el codigo por si a alguien le sirve
Código PHP:
<html>
<body>
<form action="1.php" method="POST" enctype="multipart/form-data">
Destinatario<br>
<input type="text" name="destino" size="30" maxlength="30" value=""><BR>
Título:<BR>
<input type="text" name="titulo" size="20" maxlength="30"><BR>
Contenido del mensaje:<BR>
<input type="text" name="contenido" size="20" maxlength="30"><BR>
Adjunto:<br>
<input type="file" name="miarchivo"><BR>
<INPUT type="submit" VALUE="Enviar">
</form>
</body>
</html>
Código PHP:
<?
//Recuperamos los datos del form
$correo = $_POST['destino'];
$asunto = $_POST['titulo'];
$mensaje = $_POST['contenido'];
$nom_archivo = $_FILES['miarchivo']['name']; //nombre del archivo adjunto
$headers = "From: [email protected]\n";
$headers .= "Reply-To: [email protected]\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"MIME_BOUNDRY\"\n";
$headers .= "Este es un mensaje multi-part en formato MIME.\n";
$fp = fopen(($_FILES['miarchivo']['tmp_name']),"r");
$str = fread($fp, filesize($_FILES['miarchivo']['tmp_name']));
$str = chunk_split(base64_encode($str));
$fp = fclose($fp);
$message = "--MIME_BOUNDRY\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";
$message .= "\n";
$message .= "$mensaje";
$message .= "\n";
$message .= "--MIME_BOUNDRY\n";
$message .= "Content-Type: application/octet-stream; name=\"$nom_archivo\"\n";
$message .= "Content-disposition: attachment\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "\n";
$message .= "$str\n";
$message .= "\n";
$message .= "--MIME_BOUNDRY--\n";
mail($correo, $asunto, $message, $headers);
echo $nom_archivo;
?>
Lo unico que falta es que cuando el campo tipo file del form este vacio no adjunte nada por que sale un error, pero igual se envia el mensaje.
Por otro lado sobre el Content-Type puedo adjuntar archivos .txt .zip .doc .jpg y seguro todos los demas no se a que se deba aqui esta la linea
Código PHP:
$message .= "Content-Type: application/octet-stream; name=\"$nom_archivo\"\n";
Supuestamente el application/octet-stream solo debe cargar archivos .txt
En fin ya tengo lo que necesitaba pero si alguien quiere explicar sobre eso estaria bueno o quizas yo estoy equivocado
saludos