Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2008, 11:33
Avatar de chiquirf
chiquirf
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
mail() en formato HTML

Hola a todos,


En julio tuve un problema parecido al de ahora y me lo resolvieron aquí:
http://www.forosdelweb.com/f18/error...xisten-605094/

Pense que estaba solucionado porque a mi correo me llega bien, pero ahora me he dado cuenta que a otros correos sigue fallando, lo he probado en 2 pcs distintas y en el MS Outlook 2003 y el Outlook Express.

el síntoma es el mismo, es decir, cuando envío un mail en formato HTML llega sin remitente, el asunto si me llega, y el cuerpo del mail me llega así:

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


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

</head>

<body>


Gracias carlos por registrarse.
<br /><br />
Le recordamos sus datos de conexi&oacute;n:
<br /><br />
E-mail: [email protected]
<br />
Contrase&ntilde;a: sdsdsd
<br />
<br />


</body>
</html>
En From: pongo una dirección válida y sigue igual

Lo que más me esta rayando es lo siguiente:

* si en From: pongo [email protected] y en el formulario pongo [email protected] SI llega bien.
* si en From: pongo [email protected] y en el formulario pongo [email protected] NO llega bien.
* si en From: pongo [email protected] y en el formulario pongo [email protected] NO llega bien.

y ambas cuentas existen y están bien escritas...!!!!

El código de PHP que interesa es el siguiente:

Código PHP:

<?php 

/* 
la funcion utf8_decode() la estoy utilizando porque 
el form originalmente viene de un flash y para que 
aparezcan bien los acentos y las ñ
*/


// CUERPO DEL MENSAJE 
$cuerpo 
'

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Press</title>
    </head>
<body bgcolor="#CCCCCC">
<div style="color:#000099">
Gracias '
.utf8_decode($_POST['nombre']).' por registrarse.
<br /><br />
Le recordamos sus datos de conexi&oacute;n:
<br /><br />
E-mail: '
.utf8_decode($_POST['mail']).'
<br /> 
Contrase&ntilde;a: '
.utf8_decode($_POST['pass']).'
<br />
<br />
</div>

</body>
</html>
'




// DESTINATARIOS
$destinatario $_POST['mail'];

// ASUNTO DEL MENSAJE 
$asunto 'PRENSA'


//para el envo en formato HTML 
$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

//direccin del remitente 
$headers .= 'From: [email protected]'."\r\n"
  

$mail_cli mail($destinatario,$asunto,$cuerpo,$headers); 


?>

Lo tengo subido aquí para que puedan probarlo y más que todo, puedan ver un log que he creado por si sirve de algo, con los siguientes datos: Las variables POST que envía el formulario, los atributos que pondo en la función mail() y el resultado de mail().


ESTOY DESESPERADO... ya que me he pasado todo el día con esto, buscando en google como mandar mails en formato HTML, y en php.net utilizando los ejemplos que vienen en la descripcion de la funcion mail() y no se porque falla.

Gracias de antemano por su ayuda

Saludos

Carlos