Código PHP:
Ver originalif($_POST && isset($_FILES['mi_archivo'])){
$nombre = $_POST["nombre"];
$de = '@gmail.com';
$para = '@gmail.com';
$asunto = 'asunto';
$mensaje = 'mensaje';
$file_tmp_name = "";
$file_name = "";
$file_size = "";
$file_type = "";
$file_error = "";
$encoded_content = "";
if($_POST["nombre"]["error"] > 0)
{
die('Error al cargar archivo'); }else{
$file_tmp_name = $_FILES['mi_archivo']['tmp_name'];
$file_name = $_FILES['mi_archivo']['name'];
$file_size = $_FILES['mi_archivo']['size'];
$file_type = $_FILES['mi_archivo']['type'];
$file_error = $_FILES['mi_archivo']['error'];
$handle = fopen($file_tmp_name, "r"); $content = fread($handle, $file_size);
}
$boundary = md5("sanwebe");
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras .= "From:".$de."\r\n";
$cabeceras .= "Reply-To: ".$para."" . "\r\n";
$cabeceras .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n";
$cuerpo = "--$boundary\r\n";
$cuerpo .= 'Content-type: text/html; utf8' . "\r\n";
$cuerpo .= "Content-Transfer-Encoding: base64\r\n\r\n";
$cuerpo .= "--$boundary\r\n";
$cuerpo .="Content-Type: $file_type; name=\"$file_name\"\r\n";
$cuerpo .="Content-Disposition: attachment; filename=\"$file_name\"\r\n";
$cuerpo .="Content-Transfer-Encoding: base64\r\n";
$cuerpo .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n"; $cuerpo .= $encoded_content;
$sentMail = @mail($para, $asunto, $cuerpo, $cabeceras); if($sentMail)
{
}else{
die('No se ha enviado el mensaje.'); }
}