Foros del Web » Programando para Internet » PHP »

mail con cuerpo y adjunto

Estas en el tema de mail con cuerpo y adjunto en el foro de PHP en Foros del Web. hola tengo un problema primero logre que enviara un email y despues me lo pidiero con adjunto, mas o menos lo logre, el conflicto es ...
  #1 (permalink)  
Antiguo 29/01/2010, 11:52
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
mail con cuerpo y adjunto

hola tengo un problema primero logre que enviara un email y despues me lo pidiero con adjunto, mas o menos lo logre, el conflicto es que si concateno $mensaje=$cuerpo.$adjunto
mail($destinatario,$asunto,$mensaje,$headers) ;
solo pasa el adjunto y no el cuerpo del mensaje,
y si lo mando separado
mail($destinatario,$asunto,$cuerpo,$objeto,$header s) ;
solo manda el cuerpo pero no llega con formato, se ven todas las etiquetas de html , les dejo mi codigo de tosa esta parte haber si alguien puede ayudarme a que se mande el correo con el cuerpo completo y el formato que debe tener y el adjunto, no se en donde moverle. gracias
Código PHP:
$destinatario "[email protected]";
$asunto "Contacto";

$cuerpo "
<html>
<head>
 <title>Contacto</title>
</head>
<body>
<h1>Hola buen dia!</h1>
<p>
<b>Me pongo en contacto con ustedes para solicitarles de sus servicos y/o atencion</b>. <br> Gracias por ponerse en contacto conmigo cuanto antes. <br>Dejo mis datos:
</p><br>
<b>NOMBRE:</b >$nombre <br>
<b>EMAIL:</b> $email <br>
<b>TELEFONO:</b> $telefono <br>
<b>SERVICIO:</b> $servicio <br>
<b>COMENTARIO:</b> $comentario <br>
<b>SE ENTERO POR:</b> $enteropor <br>
<b>PAIS:</b> $pais <br>
<b>ESTADO:</b> $estado <br>
</body>
</html>
"
;
# 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']."\""."\r\n";
$adjunto .="Content-Disposition: attachment; filename=\"";
$adjunto .=$HTTP_POST_FILES['archivo']['name']."\""."\r\n";
$adjunto .="Content-Transfer-Encoding: base64"."\r\n";

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

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

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

//para el envío en formato HTML
$headers  "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=$archivo \r\n\n";

//dirección del remitente
$headers .= "From: CONTACTO <[email protected]>\r\n";

//dirección de respuesta, si queremos que sea distinta que la del remitente
$headers .= "Reply-To: [email protected]\r\n";

//direcciones que recibián copia
$headers .= "Cc:[email protected]\r\n";

//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected],\r\n";
mail($destinatario,$asunto,$mensaje,$headers) ;
header ("Location: $pag?accion=respuesta");



__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 29/01/2010, 11:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: mail con cuerpo y adjunto

Te sugiero que veas como queda la variable $mensaje en la aplicación, sin enviar información al email. Me refiero que le des un echo a esa variable, estando los dos ($cuerpo y $adjunto) concatenados.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/01/2010, 16:40
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: mail con cuerpo y adjunto

Te suguero que use la clase phpmailer. Es muy secilla y te facilita las cosas.
En este link hay una explicacion rapida :
http://blog.unijimpe.net/enviar-html-con-phpmailer/

Etiquetas: cuerpo, mail, 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:25.