Foros del Web » Programando para Internet » PHP »

Desorden al recibir email

Estas en el tema de Desorden al recibir email en el foro de PHP en Foros del Web. Hola, En mi pagina web tengo un mini formulario para que me puedan contactar. con un email,nombre y mensaje. y el php lo fui haciendo ...
  #1 (permalink)  
Antiguo 16/10/2014, 17:43
Avatar de ivo5860  
Fecha de Ingreso: octubre-2013
Ubicación: Argentina
Mensajes: 51
Antigüedad: 10 años, 6 meses
Puntos: 0
Exclamación Desorden al recibir email


Hola,

En mi pagina web tengo un mini formulario para que me puedan contactar. con un email,nombre y mensaje. y el php lo fui haciendo parte por parte sacando de algunos que me ayudaban a armarlo.Pero cuando el formulario llega a mi email , llega todo desordenado.

Imagen de muestra :
http://i59.tinypic.com/2ezl1rq.jpg


Este es el php utilizado :
Código PHP:
<?php

// Especificamos el destinatario (nuestro email) y el asunto.
$email_para "EMAIL";
$email_de "|Contacto|";
$email_asunto "Formulario de contacto desde mi sitio web";

// Pasamos a validar los datos enviados por el usuario
if(!isset($_POST['asunto']) ||
!isset(
$_POST['mensaje'])) {

echo 
"<b>El formulario no pudo ser enviado,intentelo nuevamente. </b>
"
;
echo 
"Por favor, verifique que ha rellenado todos los datos
"
;
die();
}

//Si todos los datos están rellenados y bien,
//pasamos a especificar el cuerpo del mensaje
$email_mensaje "Formulario de contacto desde mi sitio web:nn";
$email_mensaje .= "Asunto: " $_POST['asunto'] . "n";
$email_mensaje .= "Mensaje: " $_POST['mensaje'] . "nn";
// Enviamos el formulario usando la función mail() de PHP
$headers 'From: '.$email_de."rn".
'X-Mailer: PHP/' phpversion();
@
mail($email_para$email_asunto$email_mensaje$headers);

//para el envío en formato HTML 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

//dirección del remitente 
$headers .= "From: Contacto\r\n";

echo 
"Gracias por contactarse con nosotros, le daremos respuesta via correo en un periodo de 
12 a 24 horas."
;

?>

Última edición por ivo5860; 16/10/2014 a las 17:48
  #2 (permalink)  
Antiguo 16/10/2014, 17:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Desorden al recibir email

Pues debes darle formato HTML, nada más.

Además, los saltos de linea (que salen como "n") deben ser \n, consulta una referencia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/10/2014, 17:50
Avatar de ivo5860  
Fecha de Ingreso: octubre-2013
Ubicación: Argentina
Mensajes: 51
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Desorden al recibir email

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Desordenado en qué sentido?

Me gustaría ser capaz de leer tu mente o adivinar para entender pero no puedo.
Jajaja.Mira la imagen y te vas a dar cuenta!
  #4 (permalink)  
Antiguo 17/10/2014, 04:02
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: Desorden al recibir email

Los saltos de línea prueba a ponerlos como "\n" o "<br />".
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #5 (permalink)  
Antiguo 17/10/2014, 17:08
Avatar de ivo5860  
Fecha de Ingreso: octubre-2013
Ubicación: Argentina
Mensajes: 51
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Respuesta: Desorden al recibir email

Cita:
Iniciado por json Ver Mensaje
Los saltos de línea prueba a ponerlos como "\n" o "<br />".
Pero ademas, ¿como hago sacar las "nn" y "n" que aparecen en el email recibido?


[No tengo conocimiento de PHP]
  #6 (permalink)  
Antiguo 20/10/2014, 01:20
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: Desorden al recibir email

Las "n" salen porque están puestas en el cuerpo del mensaje y deduzco, por el lugar donde están, que lo que se quiere hacer es un salto de línea. Por tanto cambia esto:

Código PHP:
Ver original
  1. $email_mensaje = "Formulario de contacto desde mi sitio web:nn";
  2. $email_mensaje .= "Asunto: " . $_POST['asunto'] . "n";
  3. $email_mensaje .= "Mensaje: " . $_POST['mensaje'] . "nn";
  4. // Enviamos el formulario usando la función mail() de PHP
  5. $headers = 'From: '.$email_de."rn".
  6. 'X-Mailer: PHP/' . phpversion();
  7. @mail($email_para, $email_asunto, $email_mensaje, $headers);

Por esto otro, por ejemplo:

Código PHP:
Ver original
  1. $email_mensaje = "Formulario de contacto desde mi sitio web:<br /><br />";
  2. $email_mensaje .= "Asunto: " . $_POST['asunto'] . "<br />";
  3. $email_mensaje .= "Mensaje: " . $_POST['mensaje'] . "<br /><br />";
  4. // Enviamos el formulario usando la función mail() de PHP
  5. $headers = 'From: '.$email_de."\r\n".
  6. 'X-Mailer: PHP/' . phpversion();
  7. @mail($email_para, $email_asunto, $email_mensaje, $headers);

A ver si así te sale bien ;)
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.

Etiquetas: email
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 08:28.