Foros del Web » Programando para Internet » PHP »

Formulario mail PHP (outlook)

Estas en el tema de Formulario mail PHP (outlook) en el foro de PHP en Foros del Web. Hola, Tengo diseñado un formulario sencillo de php que envia el contenido del formulario al email. El problema está en la visualización html del emai ...
  #1 (permalink)  
Antiguo 02/02/2011, 12:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 11 años, 10 meses
Puntos: 2
Formulario mail PHP (outlook)

Hola,

Tengo diseñado un formulario sencillo de php que envia el contenido del formulario al email.

El problema está en la visualización html del email.

Me explico: En Gmail, Hotmail e incluso Webmail entre otros, ves el correo perfectamente en html.

Sin embargo no ocurre lo mismo cuando el correo lo recibimos a través de outlook, dado que se visualiza así:

Código:
Content-type: text/html; charset=iso-8859-1 From: AAAA <[email protected]>
Reply-To: [email protected];

<html>
<head>
  <title>Titulo</title>
</head>
<body>
  <p>
  <img border='0' src='http://www.aaa.com/logo-correo.png' width='381' height='156'></p>
  <br /> <br />
  <p><b>Nombre: </b>AA
  <b>Correo de Contacto</b>: [email protected]
  <b>Tel&eacute;fono</b>: 
  Prueba de correo con tild&eacute;s 2
</body>
</html>

--------------

Por si fuera de interés, defino en el php las cabeceras
Código PHP:
$cabeceras  'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
$cabeceras .= "From: AAAA <[email protected]> \r\n";
//$cabeceras .= "Bcc: <$copia> \r\n"; //Enviar una copia a CCO
$cabeceras .= "Reply-To: {$email};"

También podría ser interesante que el contenido del mensaje lo recojo en una varible

Código PHP:
$cuerpo "<html>
<head>
  <title>Meson La Noguera</title>
</head>
<body>
  <p>
  <img border='0' src='http://www.mesonlanoguera.com/images/logo-2.png' width='381' height='156'></p>
  <br /> <br />
  <p><font face='Verdana' size='2'><b>Nombre: </b>$nombre<br>
  <b>Correo de Contacto</b>: $email <br>
  <b>Tel&eacute;fono</b>: $telefono<br>
  <br>
  $mensaje</font></p>
</body>
</html>
"

Código PHP:
mail($destino$asunto$cuerpo$cabeceras); 
Espero su ayuda, me estoy volviendo loco.

PD: A los moderadores creo que es problemas del PHP, pero si creen que es problema del Outlook (ocurre tanto como con el Express como con el 2007 por lo que he probado) ruego muevan el mensaje al subforo correspondiente, pero creo que es este el adecuado.
  #2 (permalink)  
Antiguo 02/02/2011, 12:59
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 12 años, 1 mes
Puntos: 21
Respuesta: Formulario mail PHP (outlook)

Prueba con estas cabeceras:

Código PHP:
Ver original
  1. $headers = "MIME-Version: 1.0\n" ;
  2. $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";

http://www.php.net/manual/es/function.mail.php#91058
__________________
----
http://www.mascodigo.com
  #3 (permalink)  
Antiguo 02/02/2011, 13:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 11 años, 10 meses
Puntos: 2
Respuesta: Formulario mail PHP (outlook)

He probado tu solución y va. Mil gracias.

Resumiendo el problema, yo lo había resuelto antes de ver tu respuesta borrando la primera de mis cabeceras (la de MIME-VERSION) funcionaba... (es curioso porque no veo en ella ningún error pero funciona).

Pero al ver que tu solución funcionaba he visto que el problema estriba en el SALTO DE LINEA, mi servidor es linux por lo que el salto de linea es \n.

Por lo que a mi codigo original suprimiendo \r\n por \n funciona !!
También funciona poniendo \n\r
  #4 (permalink)  
Antiguo 16/03/2011, 11:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Formulario mail PHP (outlook)

Amigo, me estaba volviendo loco, gracias.
Todo el problema estaba en cambiar
\r\n por \n
Mi problema consistía en que en las pruebas que hago sobre mis cuentas de correo en mi dominio, el filtro -antispam- (SpamAssassin) que utiliza el servidor me tocaba las cabeceras.
Los correos que llegaban a otras cuentas , que no son de ese servidor llegaban correctamente.
El colmo estaba en el spam que se colaba en el servidor de mi dominio QUE SI MOSTRABA correctamente html en la cuenta que yo no era capaz de que se viera correctamente.
Gracias de nuevo.

Etiquetas: mail, outlook, formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:12.