Foros del Web » Programando para Internet » PHP »

intros en e-mail

Estas en el tema de intros en e-mail en el foro de PHP en Foros del Web. hola quiero mandar un e-mail desde una pagina, pero al recibirlo no me respeta los saltos de linea. Actualmente lo hago asi: $mensaje="Campo1: ".quitar($HTTP_POST_VARS["campo1"])."/n"; $mensaje.="Campo2: ...
  #1 (permalink)  
Antiguo 23/10/2003, 11:09
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 15 años, 1 mes
Puntos: 2
intros en e-mail

hola

quiero mandar un e-mail desde una pagina, pero al recibirlo no me respeta los saltos de linea. Actualmente lo hago asi:

$mensaje="Campo1: ".quitar($HTTP_POST_VARS["campo1"])."/n";
$mensaje.="Campo2: ".quitar($HTTP_POST_VARS["campo2"])."/n";

a ver si me comentais como lo soluciono.

gracias
  #2 (permalink)  
Antiguo 23/10/2003, 12:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por qué .. lo más seguro es que lo estés enviando en formato HTML.

En HTML los salto de línea no son \n sino tag <br> ... para ello puedes usar (para no modificar tu texto actual)

Código PHP:
$mensaje=nl2br($mensaje); 
(al final de ese código y antes de atacar el resto de tu mail() ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 28/10/2003, 10:18
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 15 años, 1 mes
Puntos: 2
sigue sin funcionarme los intros

he probado lo que me has comentado y tambien he sustituido los /n por <br> (eliminando la anterior funcion) y nada

para mandar el e-mail utilizo esto:

...
$mensaje.="nombre: ".quitar($nombre)."<BR>";

mail("$para_quien","$titulo_correo",$mensaje,"From : ".quitar($HTTP_POST_VARS["email"]));

que mas ideas me das?

gracias
  #4 (permalink)  
Antiguo 28/10/2003, 12:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Así como estás enviando el e-mail lo estás haciendo en formato de texto plano. Si quieres usar HTML y sus salto de línea <br> debes añadir las cabeceras HTTP extra para indicar que tu e-mail va a ser en formato HTML.

Tambien te recuerdo que en diferentes sistemas operativos ..el salto de línea puede ser simplemente \n o \n\r o simplemente \r

Te invito a leer estas FAQ's:
http://www.forosdelweb.com/showthrea...350#post254350
http://www.forosdelweb.com/showthrea...333#post328333

(que hace esa función "quitar()"?)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 29/10/2003, 03:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 15 años, 1 mes
Puntos: 2
//funcion que deshabilita el codigo html y reemplazar el apostrofe y comillas dobles
//esto se hace para no tener conflictos con la instruccion sql
function quitar($mensaje)
{
$mensaje=str_replace("<","&lt;",$mensaje);
$mensaje=str_replace(">","&gt;",$mensaje);
$mensaje=str_replace("\'","'",$mensaje);
$mensaje=str_replace('\"',"&quot;",$mensaje);
$mensaje=str_replace("\\\\","\",$mensaje);
return $mensaje;
}

saludos
  #6 (permalink)  
Antiguo 29/10/2003, 03:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En el mensaje original ponias /n , cuando es \n.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 29/10/2003, 04:24
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 15 años, 1 mes
Puntos: 2
no me digas!!!! como sea ese el fallo me caguen to!

gracias tio

saludos
  #8 (permalink)  
Antiguo 29/10/2003, 04:31
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Exacto, pero como muy bien te dijo cluster haz uso de nl2br que es mas aconsejable :D
__________________
Usuario registrado de Linux #288725
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 21:00.