Foros del Web » Programando para Internet » PHP »

Enviar email con Archivo adjunto

Estas en el tema de Enviar email con Archivo adjunto en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/09/2011, 08:51
Avatar de 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);
  #2 (permalink)  
Antiguo 11/09/2011, 09:17
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Enviar email con Archivo adjunto

Te recomiendo PHPmailer.
http://phpmailer.worxware.com/
  #3 (permalink)  
Antiguo 11/09/2011, 09:20
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Enviar email con Archivo adjunto

Cita:
Iniciado por miktrv Ver Mensaje
Te recomiendo PHPmailer.
http://phpmailer.worxware.com/
Sip, parece que no habrá de otra...pero quería evitarla, gracias de todas formas.
Pero se que es muy corto esto: $mail->AddAttachment('file/archivo.pdf'); // attachment

Un saludo,
  #4 (permalink)  
Antiguo 11/09/2011, 14:03
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Enviar email con Archivo adjunto

Ya funciona....Post cerrado.

Etiquetas: email, html, registro, adjuntos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:44.