Foros del Web » Programando para Internet » PHP »

mensajes html con mail()

Estas en el tema de mensajes html con mail() en el foro de PHP en Foros del Web. hola! estoy mandando mensajes html con la funcion mail() pero me llegan caracteres rotos por ej si escribi bienvenido me llega algo como bienv! eniddo ...
  #1 (permalink)  
Antiguo 03/11/2005, 15:27
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
mensajes html con mail()

hola!
estoy mandando mensajes html con la funcion mail()
pero me llegan caracteres rotos
por ej si escribi bienvenido
me llega algo como bienv! eniddo

cosas asi.. porque puede ser?
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 03/11/2005, 16:37
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
Por el encoding, ya sea, del servidor que lo envia, o el cliente que lo recibe.
  #3 (permalink)  
Antiguo 04/11/2005, 05:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El "Encoding" que llama davidMS se refiere al "Char Set" que usas al definir tu pagina HTML que generas en tu e-mail .. si tu fuerzas (indicas) cierta codificación .. así lo tendrá que interpretar (si puede) el cliente que lea ese código (tu cliente de correo que lea HTML .. o navegador .. etc).

No sé como compones tu mail() .. (deberías indicar el código completo por si es otro problema) .. Pero, en principio .. crea tu página HTML (para el e-mail) con sus correspondientes cabeceras que definen ese "encoding":

Si estás usando acentos y demás .. charset: iso-8859-1 los incluye ... si no lo defines expresamente .. el servidor puede marcar o definir cierto charser por defecto (que puede ser el que a ti no te interese) al igual que el cliente que lo reciba.

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

Un saludo,
  #4 (permalink)  
Antiguo 04/11/2005, 08:15
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
si.. lo hice como dices. en el mensaje html inclui ese content type

$html = $html."<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
$html = $html."mensaje html que se enviara por email";

y para mandar el email tengo...

$headers="From: misiochat.com <[email protected]>\nReply-To: [email protected]";
$headers .= "X-Mailer:PHP/".phpversion()."\n";
$headers .= "Mime-Version: 1.0\n";
$headers .= "Content-Type: text/html";
mail($email, "Usuario y contraseña", $html, $headers);

pero la cosa sigue llegando mal...
__________________
On error no hago nada porque deje de fumar...

Última edición por dieguicho; 02/02/2008 a las 20:10
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 22:18.