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:
En From: pongo una dirección válida y sigue igualContent-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ón: <br /><br /> E-mail: [email protected] <br /> Contraseña: sdsdsd <br /> <br /> </body> </html>
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ón:
<br /><br />
E-mail: '.utf8_decode($_POST['mail']).'
<br />
Contraseñ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