Foros del Web » Programando para Internet » PHP »

Promblema con acentos al enviar mail por php

Estas en el tema de Promblema con acentos al enviar mail por php en el foro de PHP en Foros del Web. Que tal tengo un problema que al parecer es común pero no he logrado resolverlo, tengo un form que envia datos nombre, email y comentarios ...
  #1 (permalink)  
Antiguo 24/09/2009, 18:54
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Promblema con acentos al enviar mail por php

Que tal tengo un problema que al parecer es común pero no he logrado resolverlo, tengo un form que envia datos nombre, email y comentarios a un php el cual envio a un correo. Lo envia perfecto con el inconveniente que lo que escribe el usuario en el form llega sin codificacion utf8 osea sin acentos. Intente meter la codificacion <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> con html pero me muestra con acentos el mensaje que pongo textual pero no las variables que envia, espero puedan ayudarme a que mi mensaje lo mande con acentos, les dejo el codigo

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style4 {font-family: Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<?php
$fecha
=date("d-m-y");
$hora=date("H:I:s");
$destino="[email protected]";
$asunto="Comentario";
$desde 'From: '.$_POST[email];
$comentario "
Nombre: $_POST[nombre]\n
Email: $_POST[email]\n
Consulta: $_POST[solicitud]\n
Enviado:$fecha a las $hora\n
\n
"
;
mail($destino,$asunto,$comentario,$desde);
?>
<span class="style4">El formulario ha sido enviado con éxito. Gracias por su colaboración.</span>
</body>
</html>
y el mensaje me aprece asi

Nombre: José

Email: @

Consulta: hola

Enviado:24-09-09 a las 19:1:59
  #2 (permalink)  
Antiguo 24/09/2009, 19:22
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Promblema con acentos al enviar mail por php

Hola,
Te recomiendo que uses phpmailer o en tu script, en la seccion:
$desde = 'From: '.$_POST[email];
tienes que agregar
$desde = 'From: '.$_POST[email] .'\nContent-type: text/html; charset=iso-8859-1';
o
$desde = 'From: '.$_POST[email] .'\nContent-type: text/html; charset=utf-8';

el content type debe ir dentro del mensaje.
Espero te pueda ayudar.


Saludos
-------------------------
visita: peru3g.com
  #3 (permalink)  
Antiguo 24/09/2009, 19:42
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Promblema con acentos al enviar mail por php

pruebalo asi

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style4 {font-family: Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<?php
$fecha
=date("d-m-y");
$hora=date("H:I:s");
$destino="[email protected]";
$asunto="Comentario";
$desde 'From: '.$_POST['email'];
$comentario "
Nombre:" 
.$_POST['nombre']."\n
Email:" 
.$_POST['email']."\n
Consulta:" 
.$_POST['solicitud']."\n
Enviado:$fecha a las $hora\n
\n
"
;
mail($destino,utf8_decode($asunto),utf8_decode($comentario),utf8_decode($desde));
?>
<span class="style4">El formulario ha sido enviado con éxito. Gracias por su colaboración.</span>
</body>
</html>
  #4 (permalink)  
Antiguo 24/09/2009, 22:21
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Promblema con acentos al enviar mail por php

creo que tambien sirve

Código PHP:
utf8_encode($varialbe,"o texto"); 
o prueba poniendolo en codigo general

ñ = &ntilde;

o algo asi espero haberte ayudado
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #5 (permalink)  
Antiguo 25/09/2009, 10:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Sonrisa Respuesta: Promblema con acentos al enviar mail por php

Gracias a todos por sus aportes, lo que me resulto perfecto fue la respuesta de
Loncho_rojas poniendo el utf8 en el mail, ya que si ponia el content utf8 en el from me lo escribia textual en el mensaje cualquier cosa los mantendre informados
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:28.