Comunidad de diseño web y desarrollo en internet online

Eliminar formato html en mail recibido por PHP

Citar            
MensajeEscrito el 16 Abr 2011 03:27 am
Hola! Hice un formulario de contacto usando Flash y PHP y funciona bien pero el tema es que cuando lo pruebo y me fijo en mi mail para ver cómo me llego, me figura lo siguiente:

Nombre: <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"HelveticaNeueLT Std\" SIZE=\"13\" COLOR=\"#CC6600\" LETTERSPACING=\"0\" KERNING=\"0\">Erica Sosa</FONT></P></TEXTFORMAT> Telefono: <p align=\"left\"></p> Email: <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"HelveticaNeueLT Std\" SIZE=\"13\" COLOR=\"#CC6600\" LETTERSPACING=\"0\" KERNING=\"0\">[email protected]</FONT></P></TEXTFORMAT> Message: <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"HelveticaNeueLT Std\" SIZE=\"13\" COLOR=\"#CC6600\" LETTERSPACING=\"0\" KERNING=\"0\">Pruebaaaa</FONT></P></TEXTFORMAT>

Alguien sabe como hago para que no me aparezcan los datos del formato del texto?

Este es el codigo del PHP

Código PHP :

<?php 
$contact_name = $_POST['name']; 
$contact_email = $_POST['email']; 
$contact_telephone = $_POST['telephone']; 
$contact_message = $_POST['message']; 

if( $contact_name == true ) 
{ 
    $sender = $contact_email; 
    $receiver = "[email protected]"; 
    $client_ip = $_SERVER['REMOTE_ADDR']; 
    $email_body = "Nombre: $contact_name Telefono: $contact_telephone Email: $sender  Message: $contact_message IP: $client_ip";         


    if( mail( $receiver, "Contacto desde web Luis Torralva - $subject", $email_body ) )  
    { 
        echo "success=yes"; 
    } 
    else 
    { 
        echo "success=no"; 
    } 
} 
?> 

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Abr 2011 04:27 pm
mm creo que el problema esta en que no estas codificando tu email como HTML osea hay cabeceras que se pone a un email para indicar si contiene HTML o es de TEXTO PLANO, por lo que veo la funcion mail de php por defecto la codifica como texto plano podrias usar una clase como PHPMailer que facilita ese tipo de casos

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Abr 2011 04:33 pm
Gracias por responder!
Y como puedo hacer eso. Perdón por mi ignorancia pero soy bastante novata con todo lo relacionado a PHP.

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Abr 2011 04:44 pm
pues
la documentacion la encuentras en su sitio oficial
http://phpmailer.worxware.com/index.php?pg=examples
adaptando el ejemplo de esa pagina con tus variables seria asi

Código PHP :

require_once('../class.phpmailer.php');
$contact_name = $_POST['name'];  
$contact_email = $_POST['email'];  
$contact_telephone = $_POST['telephone'];  
$contact_message = $_POST['message']; 
$email_body = "Nombre: $contact_name Telefono: $contact_telephone Email: $sender  Message: $contact_message IP: $client_ip";

$mail             = new PHPMailer(); // defaults to using php "mail()"

$body             = $email_body;


$mail->SetFrom( $contact_email, 'First Last');

$address = "[email protected]";
$mail->AddAddress($contact_email, $contact_name);

$mail->Subject    = "PHPMailer Test Subject via mail(), basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

if(!$mail->Send()) {
  echo "success=yes";  
} else {
  echo "success=no"; 
}

una obervacion al parecer estas enviando desde action script los campos con estilos y eso creo que esta mal tendrias que consultar en el foro de AS3 o AS2 segun lo que usas por que <TEXTFORMAT> es propio de Action Script y nada que ver con HTML

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Abr 2011 05:09 pm
Hola, probe modificando el PHP con el codigo que me enviaste pero ahora el mail no llega a mi correo.
Con respecto a lo del codigo AS, ya chequie de que o estuviera activado el texto html.
Estoy muy perdida

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Abr 2011 08:19 pm
cual es Action Script del formulario que usas asi te orientamos postea el codigo

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Abr 2011 09:15 pm
Este es el codigo AS que estoy usando
Primer frame:

Código ActionScript :

miTexto.html = false;

send_button.onRelease = submit;
reset_button.onRelease = reset;
function submit()
{
   if( contact_name.text == "" || contact_email.text == "" || contact_message.text == "")
   {
      message_status.text = "Hay campos obligatorios sin rellenar.";
   }
   else if( contact_email.text.indexOf('@') < 2 || contact_email.text.indexOf('.') < 0 )
   {
      message_status.text = "Ingrese una dirección de correo electrónico válida";
   }
   else if( contact_message.text == "")
   {
      message_status.text = "Sus comentarios son importantes";
   }
   else
   {
      message_status.text = "";
      gotoAndStop("send");
   }
}
function reset()
{
   contact_name.text = contact_email.text = contact_telephone.text = 
   contact_message.text = message_status.text = "";
   clearInterval(interval_id);
   gotoAndStop("stop");
}


Frame 5

Código ActionScript :

stop();


Frame 11

Código ActionScript :

stop();
loadVariables("send_email.php?flashmo=" + random(1000), this, "POST");
message_status.text = "Enviando...";
var i = 0;
function check_status()
{
   if( success == "yes" )
   {
      message_status.text = "Su mensaje ha sido enviado con éxito";
      play();
   }
   else if( success == "no" )
   {
      message_status.text = "Su mensaje no pudo ser enviado. Intente otra vez.";
      gotoAndStop("stop");;
   }
   if( i >= 20 )
      clearInterval(interval_id);
   i++;
}
var interval_id = setInterval(check_status, 400);


Frame 70

Código ActionScript :

reset();
gotoAndStop("stop");
clearInterval(interval_id);


Y tengo dos botones uno con nomre de instancia reset_button y el otro send_button

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 03:08 pm
en tu codigo que usaste por primera usala funcion strip_tags para quitar los tags AS2

Código PHP :

<?php  
$contact_name = strip_tags($_POST['name']);  
$contact_email = strip_tags($_POST['email'] );  
$contact_telephone = strip_tags($_POST['telephone']) ;  
$contact_message = strip_tags($_POST['message']) ;  
//mejor si usas la funcion de si esta vacio o no 
//if( $contact_name == true )  
if( ! empty( $contact_name )  )
{  
    $sender = $contact_email;  
    $receiver = "[email protected]";  
    $client_ip = $_SERVER['REMOTE_ADDR'];  
    $email_body = "Nombre: $contact_name Telefono: $contact_telephone Email: $sender  Message: $contact_message IP: $client_ip";          
 
 
    if( mail( $receiver, "Contacto desde web Luis Torralva - $subject", $email_body ) )   
    {  
        echo "success=yes";  
    }  
    else  
    {  
        echo "success=no";  
    }  
}  
?>

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Abr 2011 04:29 pm
Hola, modifiqué el codigo PHP por el que me pasaste y ahora el formulario queda con la leyenda Enviando... y nunca se envia :(

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 05:48 pm
mm que raro hebr prueba quitando la funcion strip_tags?

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Abr 2011 06:38 pm
Borre la funcion strip_tags y sucede lo mismo...queda trabado en Enviando...
Antes se enviaba.
Puede ser que tena algo que ver que sale como error en la pagina: 'swfobject' no está definido?

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 06:45 pm
lo del swfobject ya logre solucionarlo pero es raro porque ahora no me llega el mail desde el formulario

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 07:04 pm
usa el script que funcionaba el que posteaste y luego una vez q compruebes que funciona usas la funcion strip_Tags de php

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Abr 2011 08:02 pm
Sinceramente no se que pudo haber pasado pero ya no funciona.
Volvi a usar el script original y queda trabado en Enviando...
Esto ha logrado sacarme, no puedo lograr hacer un formulario que funcione
Muchas gracias por tu ayuda, pero me doy por vencida :(

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 08:38 pm
puede ser que sea un error al subirlo al serviddor remoto que no me este leyendo el PHP?

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 09:01 pm
te funciona la funcion mail en tu maquina local?o en el server?
a que tipo de servidor estas subiendo los archivos? los servidores la mayoria tienen la funcion mail desabilitada eso tienes que consultar con tu proveedor de hosting

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Abr 2011 09:31 pm
Lo que es raro es que antes funcionaba la funcion mail en el server porque me llegaba pfercetamente, solo con el inconveniente de que llegaba con las etiquetas html
Probe eliminanndolo todo y volviendolo a subir pro sigue ocurriendo el mismo error y lo mismo con otro formulario

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2011 09:53 pm
deberias consultar con tu proveedor si estan en algun tipo de mantenimiento o algo asi o ya revisaste si tus correos no fueron a al TRASH o la correo SPAM?

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Abr 2011 09:58 pm
Ya revise que no llegue como SPAM, el tema es que no creo que sea un problema de mantenimiento ya que he realizado otros cambios y si se aplicaron.
Creo que es un problema del PHP ya que queda como "tildado" en Enviando...
Tal vez en la carpeta donde lo estoy guardando en el server...pero es raro porq esta en la misma carpeta donde esta el Html y el swf.
El problema es que ahora no me sirve ningun formulario

Por ERICASOSA

10 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Abr 2011 05:12 pm
¿Instalaste el PHPMailer en el servidor?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Abr 2011 02:43 am
Hola, ya logre solucionarlo. Lo que pasaba es que no se guardaban los cambios en el swf. Lo borre y lo volvi a guardar con el mismo nombre y listo!
Gracias por la buena onda!

Por ERICASOSA

10 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.