Foreros... ya lo he solucionado y se los comparto por si a alguien le llega a pasar, no batalle tanto como yo
1.- Guardamos en variable los parámetros que se vallan a utilizar
Código PHP:
$ruta = $_SERVER['DOCUMENT_ROOT']."/ruta_a_tu_archivo/";
$mi_archivo = "Archivo_a_enviar.zip";
$mi_nombre = "Administrador";
$mi_email = "[email protected]";
$email_to = "[email protected]";
$mi_titulo = "Este es un correo con archivo adjunto";
$mi_mensaje = "Esta es el cuerpo de mensaje.";
mail_attachment($mi_archivo, $ruta, $email_to, $mi_email, $mi_nombre, $mi_titulo, $mi_mensaje);
Funcion:
Código PHP:
function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $subject, $message) {
$ruta_completa = $path.$filename;
$content = chunk_split(base64_encode(file_get_contents($ruta_completa)));
$uid= md5(uniqid(time()));
$bound="--".$uid."\r\n";
$last_bound="--".$uid."--\r\n";
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= $bound;
$header .= "Content-type:text/plain; charset=utf-8\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$header .= $message."\r\n";
$header .= $bound;
$header .= "Content-Type: application/zip; name=\"".$ruta_completa."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n";
$header .= $content."\r\n";
$header .= $last_bound;
if (mail($mailto, $subject, "", $header)) {
echo "Correo enviado";
} else {
echo "ERROR en el envio";
}
}
Si quieren enviar un pdf o algun otro archivo tienen que cambiar la siguiente linea
Código PHP:
$header .= "Content-Type: application/zip; name=\"".$file."\"\r\n";
por esta linea:
Código PHP:
$header .= "Content-Type: application/pdf; name=\"".$file."\"\r\n";
Obviamente la variable $my_file tiene que llevar la extension pdf o la que vallan a usar.
Aquí les dejo una pagina donde se les muestra como iría ese header en base al archivo a udjuntar:
http://webdesign.about.com/od/multim...ntent-type.htm