Código PHP:
<?php
$para = "[email protected]";//$_POST['para'];
$asunto = "Envio de CV o Titulo";//$_POST['asunto'];
// procedemos a subir el archivo adjunto al servidor
$origen = $_FILES['curriculo']['tmp_name'];
$destino = "curriculos/".$_FILES['curriculo']['name'];
if(!@move_uploaded_file($origen, $destino)){
die("Error al tratar de enviar el Archivo");
}
// abrimos el archivo y lo leemos
$fp = fopen($destino, 'rb');
$data = fread($fp, $_FILES['curriculo']['size']);
fclose($fp);
//$data = file_get_contents($destino);
//aplicamos el formato RFC 2045
$data = chunk_split(base64_encode($data));
//inicializamos el borde multiparte
$borde_mime = "BORDE_MULTIPARTE_123";
//definición del \r\n
$ent = chr(13).chr(10);
//se indica el tipo multiparte y se le indica el nombre del borde
$encabezados = "Content-Type: multipart/mixed; boundary=".chr(34).$borde_mime.chr(34);
//se crea el cuerpo del mensaje
$mensaje = "--$borde_mime".$ent ;
$mensaje .= "Content-Type: text/html; ".
"charset=".chr(34)."iso-8859-1".chr(34).";".$ent.$ent;
$mensaje .= $_POST['mensaje'].$ent.$ent;
//se inserta un nuevo borde, la información del archivo y la data
$mensaje .= "--$borde_mime".$ent;
$mensaje .= "Content-Type: ".$_FILES['curriculo']['type'].";".
"name=".chr(34).$_FILES['curriculo']['name'].chr(34).";".$ent;
$mensaje .= "Content-Transfer-Encoding: base64 ".$ent;
$mensaje .= "Content-Disposition: attachment; filename=".chr(34).$_FILES['curriculo']['name'].chr(34).";".$ent.$ent;
$mensaje .= "$data".$ent;
//se incluye el fin de los contenedores
$mensaje .= "--$borde_mime--".$ent;
$enviado = mail($para,$asunto,$mensaje,$encabezados);
if($enviado == true){
print '<script language="JavaScript">';
print 'alert("El Archivo ha sido enviado satisfactoriamente.");';
print 'location.href=("trabajos.html");';
print '</script>';
}
else
{
print '<script language="JavaScript">';
print 'alert("El Archivo no se ha podido enviar. \nIntente de Nuevo.");';
print 'location.href=("trabajos.html");';
print '</script>';
}
?>