Foros del Web » Programando para Internet » PHP »

mail html y texto

Estas en el tema de mail html y texto en el foro de PHP en Foros del Web. Hola, quisiera saber cómo se envía un mail con la función mail() en texto plano Y en html, los dos a la vez, de forma ...
  #1 (permalink)  
Antiguo 08/11/2007, 13:47
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
mail html y texto

Hola, quisiera saber cómo se envía un mail con la función mail() en texto plano Y en html, los dos a la vez, de forma que el que no pueda abrirlo como html se le abra como texto. Gracias
  #2 (permalink)  
Antiguo 09/11/2007, 03:17
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 2 meses
Puntos: 2
Re: mail html y texto

......¿alguna sugerencia?........ ;)
  #3 (permalink)  
Antiguo 09/11/2007, 05:51
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: mail html y texto

No estoy seguro de que se pueda hacer con la función mail() (mira el enlace a ver que opciones tiene esa función...)

Yo siempre lo hice por smtp con alguna clase del tipo class.smtp
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #4 (permalink)  
Antiguo 09/11/2007, 06:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: mail html y texto

Mira el siguiente ejemplo de como hacerlo normal y con formato html:

Normal:
Código PHP:
$destino="el correo de la persona que tenga que recibir el correo";
$asunto="Mi asunto que aparecerá quien lo reciba";
$mensaje="El mensaje del texto que verá el destino";

if(
mail($destino,$asunto,$mensaje)) echo("Mensaje enviado.");
else echo(
"Mensaje no enviado."); 
CON FORMATO HTML
Código PHP:
$headers.="From: \"$nombre\" <$email>\r \n"
$headers.="X-Mailer:PHP/".phpversion()."\n"
$headers.="Mime-Version: 1.0\n"
$headers.="Content-Type: text/html";

$destino="el correo de la persona que tenga que recibir el correo";
$asunto="Mi asunto que aparecerá quien lo reciba";
$mensaje="<html><body>El mensaje del texto que verá el destino</body></html>";

if(
mail($destino,$asunto,$mensaje,$headers)) echo("Mensaje enviado.");
else echo(
"Mensaje no enviado."); 
es lo mismo simplemente le añades el HEADERS y editas el mensaje en formato html
  #5 (permalink)  
Antiguo 10/11/2007, 16:23
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: mail html y texto

Cita:
Iniciado por xinxan22 Ver Mensaje
Mira el siguiente ejemplo de como hacerlo normal y con formato html:

Normal:
Código PHP:
$destino="el correo de la persona que tenga que recibir el correo";
$asunto="Mi asunto que aparecerá quien lo reciba";
$mensaje="El mensaje del texto que verá el destino";

if(
mail($destino,$asunto,$mensaje)) echo("Mensaje enviado.");
else echo(
"Mensaje no enviado."); 
CON FORMATO HTML
Código PHP:
$headers.="From: \"$nombre\" <$email>\r \n"
$headers.="X-Mailer:PHP/".phpversion()."\n"
$headers.="Mime-Version: 1.0\n"
$headers.="Content-Type: text/html";

$destino="el correo de la persona que tenga que recibir el correo";
$asunto="Mi asunto que aparecerá quien lo reciba";
$mensaje="<html><body>El mensaje del texto que verá el destino</body></html>";

if(
mail($destino,$asunto,$mensaje,$headers)) echo("Mensaje enviado.");
else echo(
"Mensaje no enviado."); 
es lo mismo simplemente le añades el HEADERS y editas el mensaje en formato html
Entiendo que lo que el pretende es enviar un solo email con la versión html y la versión de texto alternativo (para que los lectores que no tienen html en el email puedan verlo sin encontrase todas las etiquetas) repito que no me parecese que se pueda hacer con la función mail() y que revises el envío de smtp con php, es muy facil porque ya existen clases creadas...
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
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 13:31.