Foros del Web » Programando para Internet » PHP »

Forma "standart" de enviar el Body en un email

Estas en el tema de Forma "standart" de enviar el Body en un email en el foro de PHP en Foros del Web. Hola a todos. Estoy con el envio de emails y tengo la siguiente duda: He leido por la red que una manera bastante cómoda de ...
  #1 (permalink)  
Antiguo 10/07/2013, 11:42
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 10 meses
Puntos: 11
Forma "standart" de enviar el Body en un email

Hola a todos.

Estoy con el envio de emails y tengo la siguiente duda:

He leido por la red que una manera bastante cómoda de meter el cuerpo del email es utilizando la función file_get_contents

A la hora de utilizar esta función me encontré con el problema de que dicha función no lee las variables que se encuentren en el fichero. 'email.php'.

Código PHP:
Ver original
  1. $mail->Body = file_get_contents('email.php');

Entonces, existe alguna forma de conseguir esto?? (que me lea las variables que hay en email.php).

En realidad la duda (además de ésta) es: cuál es la forma standart de meter el cuerpo del email cuando éste es un bonito "tocho" de código html?? (Por el hecho de que meter tropecientas lineas de código html en "body" no me resulta lo más estético/cómodo.

Código PHP:
Ver original
  1. $mail->Body = "<html><head><body><table><th><tr><td>.........."

Muchas gracias por vuestro tiempo y atención.

Un saludo!
  #2 (permalink)  
Antiguo 10/07/2013, 12:46
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Forma "standart" de enviar el Body en un email

no sé que significa "tocho", pero a lo que vamos:

file_get_contents NO procesa nada con PHP, me temo que en tu caso lo mejor es hacer uso de las funciones de control de flujo del stdout en php para obtener lo procesado por PHP al usar include, por ejemplo:

Código PHP:
Ver original
  1. include('email.php');
  2. $cuerpo= ob_get_contents();

y el contenido lo obtienes en $cuerpo, no es la forma más elegante de hacerlo, lo ideal sería usar un motor de plantillas y renderizar la plantilla obteniendo el resultado como salida.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/07/2013, 12:55
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Forma "standart" de enviar el Body en un email

Cita:
Iniciado por oms02
En realidad la duda (además de ésta) es: cuál es la forma standart de meter el cuerpo del email cuando éste es un bonito "tocho" de código html?? (Por el hecho de que meter tropecientas lineas de código html en "body" no me resulta lo más estético/cómodo.
En realidad un email NO debería tener tantas lineas de código, una cosa es el contenido y otra meter código HTML a lo "bruto" (por decirlo de alguna forma), no debes abusar de un email en formato HTML, en todo caso si pretendes enviar un correo muy llamativo mejor envíalo como imágenes, así evitas incompatibilidad con clientes de correo (los de escritorio) los cuales tienen un interprete HTML muy reducido y que no se puede comparar con un navegador Web...

Antes de usar una función solo por "recomendación" primero lee la documentación de dicha función, file_get_contents() lee el archivo directamente, mas no lo ejecuta, por lo tanto por eso no te "lee las variables", si lo que pretendes es ejecutar un archivo PHP y guardar el contenido en una variable hay otras formas como por ejemplo el uso de include() y ob_start()/ob_get_content()/ob_end_clear()
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 10/07/2013, 14:14
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 10 meses
Puntos: 11
Respuesta: Forma "standart" de enviar el Body en un email

Muchas gracias a ambos!

@maycolalvarez
Cita:
...lo ideal sería usar un motor de plantillas y renderizar la plantilla obteniendo el resultado como salida.
me puedes orientar un poquito acerca de como consigo hacer esto?? Es decir, si ya tengo la plantilla creada, cuales serian los pasos a seguir para realizar este proceso??


Y otra cosilla mas:
Cita:
...no es la forma más elegante de hacerlo...
Cuando dices que no es la forma mas elegante de hacerlo es porque...

- No es la forma standart.
- Es mejor no hacer uso del bufer mientras se pueda (del que por cierto, no tengo npi de que va).
- Otra.

Una vez más, muchas gracias a ambos por vuestros consejos y ayuda, de verdad!

Saludos!!

Etiquetas: body, email, forma, html, variables
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 23:13.