Foros del Web » Programando para Internet » PHP »

Enviar email con archivo adjunto con PHP

Estas en el tema de Enviar email con archivo adjunto con PHP en el foro de PHP en Foros del Web. Hola estoy usando una herramienta para crear archivos PDF con php ( www.fpdf.org ) Lo que quiero hacer es que en vez de visualizarse el ...
  #1 (permalink)  
Antiguo 01/08/2005, 18:03
Avatar de kesthers  
Fecha de Ingreso: mayo-2004
Ubicación: Valencia
Mensajes: 358
Antigüedad: 20 años, 6 meses
Puntos: 2
Enviar email con archivo adjunto con PHP

Hola estoy usando una herramienta para crear archivos PDF con php (www.fpdf.org)

Lo que quiero hacer es que en vez de visualizarse el archivo es que se envie el archivo generado por email y adjunto.

Imagino que tienes que ser parecido a como se enviaria otro cualquier archivo pero nunca lo he hecho.

Alguna ayuda?

Gracias
  #2 (permalink)  
Antiguo 01/08/2005, 18:10
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
En su momento lo resolví así usando un tutorial que encontré por ahí:
(asumiendo que recibes el archivo por un formulario)
$UNO y $DOS son simplemente retornos de carro


# Determina si se subió un archivo
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
{
# Si es así, crea la cabecera para el archivo adjunto
$adjunto ="Content-Type: ".$HTTP_POST_FILES['archivo']['type']."; name=\"";
$adjunto .=$HTTP_POST_FILES['archivo']['name']."\"".$UNO;
$adjunto .="Content-Disposition: attachment; filename=\"";
$adjunto .=$HTTP_POST_FILES['archivo']['name']."\"".$UNO;
$adjunto .="Content-Transfer-Encoding: base64".$DOS;

# abre el archivo
$fp = fopen($HTTP_POST_FILES['archivo']['tmp_name'], "r");
$buff = fread($fp, filesize($HTTP_POST_FILES['archivo']['tmp_name']));
fclose($fp);

# lo codifica en base64
$adjunto .=chunk_split(base64_encode($buff));
$adjunto .=$UNO."--$separador".$UNO;

# genera el cuerpo del mensaje
$mensaje=$cuerpo.$adjunto;
}

y luego envías con mail()


Saludos.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:35.