Foros del Web » Programando para Internet » PHP »

problemas con charset en mail

Estas en el tema de problemas con charset en mail en el foro de PHP en Foros del Web. tengo un problema con los charsets a la hora de mandar mails. El programa de webmail con el cual leo los mails (Horde) he comprobado ...
  #1 (permalink)  
Antiguo 10/11/2006, 12:01
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
problemas con charset en mail

tengo un problema con los charsets a la hora de mandar mails. El programa de webmail con el cual leo los mails (Horde) he comprobado que los manda con el charset iso-8859-1. Hasta ahora no habia conseguido que al mandarlo me aparecieran los acentos, las ñ y demás carácteres, los cuales eran sustituidos por caracteres raros. Ahora, con el código que colgaré a continuación veo los acentos, pero en cambio, me hace cosas raras con las ñ (me las muestra, pero por ejemplo, si está en un link, me corta el link en dónde encuentra la ñ). También me falla con las comillas simples ' o con otros símbolos que se pueden encontrar habitualmente en los mails, así que me gustaría que alguien me ayudara a que se lea todo correctamente. Imagino que se tendría que pasar a utf-8 o algo así, pero he hecho algunas pruebas (tampoco es muy fiable, porque mi nivel no es como para tirar coetes) y me sigue fallando. Alguien me puede reescribir la parte del código necesaria para que me funcione? Aquí cuelgo el código de todo el .php. Muchas gracias.

<head>
<title>Contacto</title>

<link href="../estil.css" rel="stylesheet" type="text/css" charset="iso-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
<div align="center" class="TITOL">CONTACTO:</div>
&nbsp;
<div style="margin-left:10px;">
<? if (!$HTTP_POST_VARS){ ?>
<br>


<br><br>
<br>
<div align="center">
<form name="form2" method="post" action="index.php">
<table border="0">
<tr>
<td align="right">
Tu nombre:
</td>
<td>
<input name="nombre" type="text" class="llista" style="width=300">
</td>
</tr>
<tr>
<td align="right">
Tu e-mail:
</td>
<td>
<input name="mail" type="text" class="llista" style="width=300">
</td>
</tr>
<tr>
<td valign="top" align="right">
Tu mensaje:
</td>
<td>
<textarea name="mensaje" class="llista" style="width:300; height:150;"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<br>
<input name="Submit" type="submit" class="TITOL" value="Enviar mensaje">
</td>
</tr>
</table>
<input type="hidden" name="desti" value="baku">
</form>

</div>

<? } else {

$headers = "Content-Type:text/plain; charset=ISO-8859-1\r\nContent-Disposition:inline\r\nContent-Transfer-Encoding:quoted-printable\r\nMIME-Version: 1.0\r\n";

$cos = "Contacte King of Loneliness\n";
$cos .= "\n";
$cos .= "Nom del remitent: ".$_POST['nombre']."\n";
$cos .= "E-mail del remitent: ".$_POST['mail']."\n";
$cos .= "Missatge:\n";
$cos .= " ".$_POST['mensaje'];


$from = "From: King of Loneliness - ".$_POST['nombre']." <".$_POST['mail'].">\r\n";
$from .= "Reply-To: ".$_POST['mail']."\r\n";

$from .= $headers;

mail("miemail","Formulario recibido",$cos, $from);

echo("<br><br><center><strong>El mensaje ha sido correctamente enviado</strong></center>");


} ?>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 10/11/2006, 12:06
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Prueba a agregar:

Código PHP:
$from .= "Content-type: text/html"
Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 10/11/2006, 12:12
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
sigue sin funcionarme, me hace exactamente lo mismo
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 05:53.