Gabrielucha:
Tecnicamente lo que se hace es:
1.- determinas tu destino de correo, asunto y algun mensaje que formara parte del cuerpo del correo.
2.- El archivo que quieres adjuntar debe ser procesado asi:
$fp = fopen(($archivoenviar) ,"r");
$str = fread($fp, filesize($archivoenviar));
$str = chunk_split(base64_encode($str));
$fp = fclose($fp);
3.- El cuerpo del mensaje debe ir asi:
$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: image/jpg; name=\"$nombre\"\n";
Aqui debes poner el tipo de archivo que envias;
image/gif, image/png, etc...
4.- El archivo adjunto se adjunta valga la redundancia asi:
$message .= "Content-disposition: attachment\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "\n";
$message .= "$str\n";
$message .= "\n";
$message .= "--MIME_BOUNDRY--\n";
Observa que $str viene de arriba!!!;
en otras palabras es el archivo cifrado o codificado, el
servidor de correo que recibe podra Descifrar el archivo o decodificarlo
adecuadamente.
5.- Finalmente lo envias asi:
mail($destino, $asunto, $message, $headers)
en caso tengas un servidor de correo que te
permita enviar ya sea en tu equipo o fuera de este
y que te permitan conectar o utilizarlo para enviar correos.
Saludos
Y espero te ayude
Franco