Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2011, 08:51
Avatar de SPAWN3000
SPAWN3000
 
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Enviar email con Archivo adjunto

Hola buen día,

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);