Foros del Web » Programando para Internet » PHP »

Se puede enviar mail en html incluyendo variables (resultados) ?

Estas en el tema de Se puede enviar mail en html incluyendo variables (resultados) ? en el foro de PHP en Foros del Web. Hola alguien sabe si se puede enviar email en html incluyendo los resultados de las variables. Mirando las faq’s me encontré con la respuesta a ...
  #1 (permalink)  
Antiguo 29/12/2003, 00:20
 
Fecha de Ingreso: diciembre-2002
Mensajes: 279
Antigüedad: 21 años, 4 meses
Puntos: 0
Se puede enviar mail en html incluyendo variables (resultados) ?

Hola alguien sabe si se puede enviar email en html incluyendo los resultados de las variables.

Mirando las faq’s me encontré con la respuesta a envió en html, pero existe la manera de enviar las variables?

Por ejemplo, si yo recibiera esta variable

$nombre=ignacio;

que en el cuerpo del email apareciera

Hola ignacio

Que seria equivalente a

Hola $nombre

Gracias una vez mas por su ayuda.
  #2 (permalink)  
Antiguo 29/12/2003, 00:39
 
Fecha de Ingreso: septiembre-2003
Ubicación: Pirexia
Mensajes: 150
Antigüedad: 20 años, 7 meses
Puntos: 1
si es valido...
__________________
In a world without walls, who needs Windows?
  #3 (permalink)  
Antiguo 29/12/2003, 02:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El cuerpo del mensaje es una cadena de texto. Esa cadena la puedes crear con variables, contenido de ficheros, registros de la base de datos, valores aleatorios, etc.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 29/12/2003, 12:42
 
Fecha de Ingreso: diciembre-2002
Mensajes: 279
Antigüedad: 21 años, 4 meses
Puntos: 0
gracias

Hola

Gracias por su respuesta.

Creo que me voy a tener que poner a investigar un poco por que lo intente y no funciona.

Slaludos.....
  #5 (permalink)  
Antiguo 30/12/2003, 03:10
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
yo lo que hago es mediante las funciones del buffer y de ficheros convierto el documento original que es PHP a html con todas las variables interpretadas

espero que te halla orientado

un abrazo de un PHPero+

kco
  #6 (permalink)  
Antiguo 30/12/2003, 17:44
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
otrebli:
Sería mejor que pongas el código que estás utilizando... así te podemos ayudar a descubriri el error, porque lo que se te ha dicho antes debería funcionar sin problemas.
En las FAQ's has encontrado el script que te pongo a continuación. Yo le añadí algunas variables para adecuarlo a tu pregunta:
Código PHP:
<?php
$sfrom
=""//cuenta que envia
$sdestinatario=""//cuenta destino
$ssubject=""//subject

//Definamos las variables que tendrá el mensaje:
$nombre "Ignacio";
$sitio "www.loquesea.com";

//Ahora escribes el mensaje que contiene variables:
$shtml="Hola $nombre:<br>Este mail es una invitación de $sitio a formar parte de nuestra comunidad."

//Si el mail tiene formato HTML, no olvides las cabeceras:
$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";

//Ahora, envías el mail:
mail($sdestinatario$ssubject$shtml$sheader);
?>
Saludos

Última edición por jpinedo; 30/12/2003 a las 17:46
  #7 (permalink)  
Antiguo 30/12/2003, 18:27
 
Fecha de Ingreso: diciembre-2002
Mensajes: 279
Antigüedad: 21 años, 4 meses
Puntos: 0
hola

Hola


Despues de hacer algunas pruebas con el codigo para enviar email en html por medio de php tube estos resultados.

Al utilizar el codigo que puso jpinedo si me permitio enviar email he incluir variables, pero no me permitio utilizar un codigo completo en html como por ejemplo este:

<html>
<body>
<table width="50%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#FF0000" size="4">Esto es una Prueba de envio de email por
php en html</font></td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>


Al tratar de ejecularlo me marca error y no se envia.


Ahora, si en lugar de utilizar $shtml=" "; en el cuerpo del mensaje utilizo $shtml=' '; NOTAR EN LAS COMILLAS si puedo enviar el codigo html que anteriormente puse pero no puedo incluir las variables, aparecen como texto normal.


Alguien sabe cual es el problema?


Saludos....





Última edición por otrebli; 30/12/2003 a las 21:57
  #8 (permalink)  
Antiguo 31/12/2003, 06:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En PHP cuando usas comillas dobles en una cadena ..puedes incrustrar $variables y estas serán interpretadas .. si usas comillas simples no se interpretaran .. pero, como a su vez tu en tu HTML usas comillas dobles, si no las escapas \" tendrás los problemas mencionados (errores) y por eso observas que si usas comillas simples no se interpretan tus $valores de tus variables pero no te marca el error (que siempre que tengas un error debes indicarlo textualmente).

En resumen .. usa $shtml =" .... HTML"; pero donde tengas una comilla doble .. escapala:


<table width=\"50%\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">

Y así con todas.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 31/12/2003, 21:08
 
Fecha de Ingreso: diciembre-2002
Mensajes: 279
Antigüedad: 21 años, 4 meses
Puntos: 0
solucionado

Hola.

Les agradezco de ante mano por toda la ayuda, sinceramente forosdelweb se ha convertido indispensable cada vez que empiezo a realizar algún trabajo, es como tener un experto a ayudándome cada vez que no entiendo algo.

Y el error se soluciono como dijo cluster, solo faltaba escapar las comillas.

Gracias y saludos.

P.D. Deberían de agregar una nota en las faq’s sobro lo de las comillas para los que apenas empezamos a comprender PHP.
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 15:33.