Foros del Web » Programando para Internet » PHP »

Ayuda con la funcion mail()

Estas en el tema de Ayuda con la funcion mail() en el foro de PHP en Foros del Web. Hola Estoy tratando de mandar un mail con php en formato html, pero que incluya algunos valores recibidos desde un formulario y no he podido ...
  #1 (permalink)  
Antiguo 08/12/2004, 13:13
Avatar de Camarex  
Fecha de Ingreso: enero-2003
Ubicación: Monterrey NL
Mensajes: 148
Antigüedad: 21 años, 9 meses
Puntos: 0
Ayuda con la funcion mail()

Hola
Estoy tratando de mandar un mail con php en formato html, pero que incluya algunos valores recibidos desde un formulario y no he podido hacerlo.... Aunque ya pude enviar los valores pero sin formato html....

A ver si me explico mejor:
Si mando los valores sin formato html.. si funciona :
$cuerpo = "$nombre Conserve su numero de folio: $folio";

Pero si quiero darle formato html, en el email que recibo, me imprime la variable como tal, y no el valor que tiene.
$cuerpo = '
<html>
<head><title>Titulo</title></head>
<body>
Hola $nombre<br />
Tu numero de folio es: $folio
</body>
</html>
';

mail($destinatario,$asunto,$cuerpo,$headers);


Espero alguien me pueda orientar, o me digan si saben de algun tutorial que hable al respecto... Gracias !!
__________________
Si el empleo fuera como rentar una casa, entonces no rentes para siempre y busca la manera de Comprar. ;-)
Frase: Edgar Camarena

Última edición por Camarex; 08/12/2004 a las 13:15 Razón: mal redactado
  #2 (permalink)  
Antiguo 08/12/2004, 13:28
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 22 años
Puntos: 0
Hola Camarex, debes insertar las cabeceras para enviar un e-mail con formato html

<?php
$sfrom=""; //cuenta que envia
$sdestinatario=""; //cuenta destino
$ssubject=""; //subject
$shtml=""; //mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);
?>
  #3 (permalink)  
Antiguo 08/12/2004, 18:12
Avatar de Camarex  
Fecha de Ingreso: enero-2003
Ubicación: Monterrey NL
Mensajes: 148
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola Cocker las cabeceras ya las tenia, estan de esta forma:

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Camarex<[email protected]>\r\n";
$headers .= "Bcc:[email protected]\r\n";
mail($destinatario,$asunto,$cuerpo,$headers);

Veo que de las que me sugieres, solo me falta esta:

$header=$header."X-Mailer:PHP/".phpversion()."\n";

eso tendra algo que ver?

bueno, la voy a agregar y ya estare respondiendo que paso ... Gracias
__________________
Si el empleo fuera como rentar una casa, entonces no rentes para siempre y busca la manera de Comprar. ;-)
Frase: Edgar Camarena
  #4 (permalink)  
Antiguo 08/12/2004, 18:19
dreglad
Invitado
 
Mensajes: n/a
Puntos:
El problema no son las cabeceras... Es mucho más simple:
Sólo tienes que cambiar las comillas simples por dobles al definir $cuerpo:
Código PHP:
$cuerpo "
<html>
<head><title>Titulo</title></head>
<body>
Hola $nombre<br />
Tu numero de folio es: $folio
</body>
</html>
"

¿Quieres saber por qué? Lee esto.
http://mx.php.net/manual/en/language.types.string.php

Saludos
  #5 (permalink)  
Antiguo 09/12/2004, 18:24
Avatar de Camarex  
Fecha de Ingreso: enero-2003
Ubicación: Monterrey NL
Mensajes: 148
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias por tu respuesta dreglad , me parece mas logico lo que mencionas... voy a hacer esos cambios y ya les contare como me fue, Ah, y gracias por el link,

Saludos
__________________
Si el empleo fuera como rentar una casa, entonces no rentes para siempre y busca la manera de Comprar. ;-)
Frase: Edgar Camarena
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:40.