Ando en busca de un tutorial para envío de un archivo en el email(El archivo se encuentra en el servidor-PDF), el problema es que todos los que he probado ninguno funciona, todos los métodos me envían un montón de caracteres extraños que imagino son los del archivo... Pero no me crean el archivo como tal.
Esta es una de las pruebas que he generado sin ningún resultado...
Un saludo, y mil gracias.
Código:
$dir = ''; $txt_carpeta = '_Fld4e5bf902d0da1'; $destination_path = getcwd().DIRECTORY_SEPARATOR; $dir = $destination_path.'controller/upload_files/'.$txt_carpeta.'/'; $fileatt_type = "application/octet-stream"; $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $email_from = "[email protected]"; $headers = "From: ".$email_from; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $body = "This is a multi-part message in MIME format.\n\n" . "–{$mime_boundary}\n" . "Content-Type:text/html; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $txt_contenido. "\n\n"; $dir = $dir.'REGISTRO_OFERTAS_64802.pdf'; $start= strrpos($dir, '/')==-1?strrpos($dir, '//'):strrpos($dir, '/')+1; $fileatt_name = substr($dir,$start,strlen($dir)); if (file_exists($dir)) { $archivo=file_get_contents($dir); $archivo=chunk_split(base64_encode($archivo)); }else{ return 'No existen anexos'; } $body = body."–{$mime_boundary}\n". "Content-Type: {$fileatt_type};\n". " name=\"{$fileatt_name}\"\n". "Content-Transfer-Encoding: base64\n\n". $archivo."\n\n". "–{$mime_boundary}–\n"; mail("[email protected]", "Pruebas", $body, $headers);