Foros del Web » Programando para Internet » PHP »

Mail de llegada, vacío. Cómo incluir html.

Estas en el tema de Mail de llegada, vacío. Cómo incluir html. en el foro de PHP en Foros del Web. Hola gente! En una pág tengo un formulario de contacto, (el formulario está hecho con Flash). El mail lo envía bien, pero no llega bien. ...
  #1 (permalink)  
Antiguo 25/04/2008, 09:49
Avatar de AlaDelta  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina
Mensajes: 56
Antigüedad: 16 años, 2 meses
Puntos: 0
Mail de llegada, vacío. Cómo incluir html.

Hola gente!
En una pág tengo un formulario de contacto, (el formulario está hecho con Flash). El mail lo envía bien, pero no llega bien.

<?

// INICIO ZONA CONFIGURACION
$NmEnvio = "MaximoGroup";
$SubjectEnvio = "Asunto del Mensaje";
$EmailPrincipal = "[email protected]"; // La dir. de E-mail donde debe llegar el mensaje
//FIN ZONA CONFIGURACION

if ((isset($_POST['email'])) && (!empty($_POST['email']))) {
if (!empty($_POST['email'])){ $cEmail = $_POST['email']; } else { $cEmail = " ";}
if (!empty($_POST['nombre'])){ $cNombre = $_POST['nombre']; } else { $cNombre = " ";}
if (!empty($_POST['asunto'])){ $cAsunto = $_POST['asunto']; } else { $cAsunto = " ";}
if (!empty($_POST['mensaje'])){ $cMensaje = $_POST['mensaje']; } else { $cMensaje = " ";}

$BodyAvisoTXT = "$SubjectEnvio\n\n";
$BodyAvisoTXT .= "Nombre: ".$cNombre."\n";
$BodyAvisoTXT .= "E-mail: ".$cEmail."\n";
$BodyAvisoTXT .= "Asunto del Mensaje: ".$cAsunto."\n\n";
$BodyAvisoTXT .= "Mensaje:\n".$cMensaje."\n";

$headersAviso = "From: $cNombre <$cEmail>\n";
$headersAviso .= "Reply-To: <$cEmail>\n";
$headersAviso .= "Return-Path: <$cEmail>\n";
$headersAviso .= "X-Originally_To: <$EmailPrincipal>\n";
$headersAviso .= "X-Sender: <$cEmail>\n";
$headersAviso .= "X-Mailer: PHP/". phpversion()."\n";
//specify MIME version 1.0
$headersAviso .= "MIME-Version: 1.0\n";
//plain text version of message
$headersAviso .= "Content-Type: text/plain; charset=ISO-8859-1\n"." Content-Transfer-Encoding: 7bit\n\n";
$headersAviso .= $BodyAvisoTXT;
$headersAviso .= "\n\n";
ini_set(sendmail_from,'[email protected]');
mail($EmailPrincipal, $SubjectEnvio, "", $headersAviso);



}
?>

Porque envía mal?
para mandar html debería sacar el: Content-Type: text/plain y cambiarlo porque?

Y por ultimo, a una cuenta pop3 llega bien, pero si pongo direcciones como gmail, hotmail etc siquiera llega.

ALGUNA IDEA. ESTARÁ MAL ALGO DE LA SINTAXIS???



on (release) {
if (nombre eq "" or email eq "") {
stop();
} else {
loadVariablesNum("contacto.php", 0, "POST");
gotoAndPlay("gracias");
}

eso tengo en flash


Graciassssssssssssssssssssssssssssssssssssss
Por qué me urge
  #2 (permalink)  
Antiguo 25/04/2008, 09:57
 
Fecha de Ingreso: marzo-2008
Ubicación: Palma del Río
Mensajes: 11
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Mail de llegada, vacío. Cómo incluir html.

Prueba a poner text/html en vez de text/plain
  #3 (permalink)  
Antiguo 25/04/2008, 10:40
Avatar de AlaDelta  
Fecha de Ingreso: febrero-2008
Ubicación: Argentina
Mensajes: 56
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Mail de llegada, vacío. Cómo incluir html.

Sigue llegando igual
  #4 (permalink)  
Antiguo 25/04/2008, 11:02
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Mail de llegada, vacío. Cómo incluir html.

AlaDelta:

Los content-type: text/plain en el archivo mime.types del apache nos dice que
se utiliza para enviar:
text/plain asc txt
Archivos de texto y asc.
Para enviar html/htm se utiliza asi:
text/html html htm
archivos htm y html.
Debes de sacarlo por cuanto al declarar content-type
como text/plain eso envia el servidor y confunde al receptor
debes definir lo que mandas como html y que sea html para
que el receptor asi lo maneje y no haya confusion.

En la funcion mail tienes:
(Destino Correo, Asunto Correo, Mensaje Correo, Cabeceras)...
aparentemente estas enviando el mensaje como parte de la cabecera:
mail($EmailPrincipal, $SubjectEnvio, "", $headersAviso);

Finalmente, a gmail.com, hotmail.com no podemos saber que pasa, porque
no has dicho que servidor de correo utilizas?, Cual es la configuracion del php.ini en lo referente a correos? El servidor es externo o lo tienes propio?
Debes dar mas detalles.

Saludos
Franco
P.S. El servidor tiene su archivo mime.type para, una vez que identifica el tipo de archivo, lo asocia con el mime.type y asi lo sirve. Practicamente hablando el servidor sirve conforma la extension del archivo y si la extension del archivo NO se encuentra en el archivo mime.types del servidor entonces es cuando debes hacer un addtype.... en el http.conf del servidor Apache.
Asimismo, No hay necesidad de incluir content-type: text/plain cuando estas enviando un archivo de texto por cuanto, el servidor ya lo sabe, asi lo reconoce y asi lo sirve; es decir si eliminas el content-type de tu codigo el servidor seguira sirviento lo correcto.

Última edición por franco190453; 25/04/2008 a las 11:24
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 15:54.