Pregunta: | 29698 - ARCHIVO ADJUNTO |
Autor: | Evelin Assum |
Quisiera saber como hago para enviar un archivo adjunto, trabajo con php3 y tengo un formulario en el que deseo que sea llenado y se adjunte un archivo el que debe ser enviado por mail, si alguien sabe como hacerlo ruego me ayude.
Muchas Gracias |
Respuesta: | ludwing van Ambrsosio |
Prueba esto:
//Creamos el cuerpo del mensaje $mensaje = "Este texto va en el cuerpo del correo\n"; $mensaje .= "Este también\n"; ... // Cabeceras para los adjuntos $headers .= 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-Type: multipart/mixed; boundary="------------040408090204060200060709"' . "\n"; // Componemos el mensaje para mandar los adjuntos $message = "\n\nThis is a multi-part message in MIME format.\n"; $message .= "--------------040408090204060200060709\n"; $message .= "Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n"; $message .= "Content-Transfer-Encoding: 7bit\n"; $message .= "\n$mensaje\n"; // Abrimos el adjunto y lo codificamos $handle = fopen($_FILES['dokumentua']['tmp_name'],'rb'); $file_content = fread($handle,filesize($_FILES['dokumentua']['tmp_name'])); fclose($handle); $encoded = chunk_split(base64_encode($file_content)); // Insertamos el adjunto en el correo $message .= "--------------040408090204060200060709\n"; $message .= "Content-Type: " . $_FILES['dokumentua']['type'] . "; name=\"" . $_FILES['dokumentua']['name'] . "\"\n"; $message .= "Content-Transfer-Encoding: base64\n"; $message .= "Content-Disposition: inline; filename=\"" . $_FILES['dokumentua']['name'] . "\"\n\n"; $message .= "$encoded"; // Cerramos el "apartado" de los adjuntos $message .= "\n--------------040408090204060200060709--"; // Se manda el correo mail ("[email protected]", "Asunto", $message, $headers) Espero que haya quedado bien el código después de los "copiar+pegar" que he hecho... |