PHP - PROBLEMA con mail con archivo adjunto

 
Vista:

PROBLEMA con mail con archivo adjunto

Publicado por velmakelly (39 intervenciones) el 29/01/2010 18:57:43
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,$headers) ;
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

$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($fp, filesize($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");
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA con mail con archivo adjunto

Publicado por Diego Romero (1450 intervenciones) el 30/01/2010 00:03:30
Usa Swiftmailer y olvida la función mail() que te dará más dolores de cabeza.

http://swiftmailer.org/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar