Foros del Web » Programando para Internet » PHP »

Enviar imagenes en el email

Estas en el tema de Enviar imagenes en el email en el foro de PHP en Foros del Web. Buenas de nuevo! 1) Me gustaría saber como puedo escribir el cuerpo del mensaje ($body) de forma que este se encuentre en otro fichero. Es ...
  #1 (permalink)  
Antiguo 25/02/2008, 08:59
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Cuerpo del email

Buenas de nuevo!

1) Me gustaría saber como puedo escribir el cuerpo del mensaje ($body) de forma que este se encuentre en otro fichero.

Es decir, yo creo un fichero en formato html por ej. que contenga el cuerpo del mensaje pues como puedo hacerlo para meterlo dentro?

2) Cómo se hacen saltos de linea porque, si escribo...

Código PHP:

$body 
"
primera linea
segunda linea
tercera linea

Cuando recibo el email me aparece todo junto en la misma linea.

3) En esta clase no se pueden modificar las cabeceras de los correos? Cómo?

PD: Utilizo la clase phpmailer

Gracias de antemano
  #2 (permalink)  
Antiguo 25/02/2008, 09:12
Avatar de RedFox  
Fecha de Ingreso: noviembre-2007
Ubicación: mAdRiD - sPaiN
Mensajes: 49
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Cuerpo del email

R1) Creo que no se puede hacer (tampoco me hagas muxo caso) pero prueba a buscar en google o en el buscador de esta web

R2) aver, yo hice un formulario de contacto y para saltar las lineas usaba esto
Código:
textotextotexto\r\ntextotextotexto
al poner "\r\n" creas un salto de linea.

Espero averte ayudado. Cualquier cosa aqui estamos

R3) Especifica un poco mas, no lo termino de entender
  #3 (permalink)  
Antiguo 25/02/2008, 09:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Cuerpo del email

Puedes usar un include, o usar file_get_contents para pasar la plantilla, por ejemplo:
Código PHP:
$plantilla file_get_contents"plantillamail.html" );
$mail->isHTML true;
$mail->body $plantilla
Para hacer los "saltos" de linea solo pon las etiquetas <br /> donde vaya el salto.

Saludos.
  #4 (permalink)  
Antiguo 25/02/2008, 09:17
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Re: Cuerpo del email

Asi...
Código PHP:
   $body="hola<br />Mundo"
...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #5 (permalink)  
Antiguo 25/02/2008, 16:19
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Cuerpo del email

Muchas gracias a todos

He conseguido introducir el texto de un fichero externo...

Pero si quiero combinar el texto este e insertar el enlace de activación (todo esto es para que cuando un usuario se registre, se le envie un email con un link de activación)

No me queda otra que hacerlo de la siguiente forma??

Código PHP:

$para 
$email;
$subject "Activar tu cuenta en XXXXX;
$cabecera = file_get_contents( "
cabecera_mail.html" );
$pie = file_get_contents( "
pie_mail.html" );
$body = $cabecera;
$body .= $cuerpo."
link de activacion";
$body .= $cuerpo."
<br/>segunda frase";
$body .= $cuerpo."
<br/>salto de linea<br/><br/>finnn";
$body .= $cuerpo.$pie; 
Gracias!
  #6 (permalink)  
Antiguo 25/02/2008, 16:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Cuerpo del email

Puedes usar str_replace para reemplazar, supongamos que tienes una variable que se llama %ACTIVACION% en tu html, puedes hacer algo así:
Código PHP:
$email file_get_contents"plantilla.html" );
$email str_replace"%ACTIVACION%"$link$email ); 
Saludos.
  #7 (permalink)  
Antiguo 25/02/2008, 16:53
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Cuerpo del email

Cita:
Iniciado por GatorV Ver Mensaje
Puedes usar str_replace para reemplazar, supongamos que tienes una variable que se llama %ACTIVACION% en tu html, puedes hacer algo así:
Código PHP:
$email file_get_contents"plantilla.html" );
$email str_replace"%ACTIVACION%"$link$email ); 
Saludos.
Gracias, siempre ahí! así da gusto aprender

Para ponerle una imagen de fondo al correo, debo adjuntar la imagen? o como va esto?

Como me las apaño?

Gracias de nuevo GatorV
  #8 (permalink)  
Antiguo 26/02/2008, 09:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Cuerpo del email

Para poner una imagen lo mejor es que la agregues vía URL completa, en tu tag de IMG por decir:
Código HTML:
<img src="http://www.pagina.com/imagenes/fondo.gif" /> 
Saludos.
  #9 (permalink)  
Antiguo 27/02/2008, 05:41
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Enviar imagenes en el email

Buenas!

Ya se como enviar correos con la clase PHPMAILER, y como utilizar un fichero html

Ahora me gustaria saber enviar los correos con un formato mas atractivo, por ejemplo poniendo mi logo de la web, un fondo... etc...

Como envio estas cosas para que cuando la persona habra el correo le aparezcan?

Muchas gracias.
  #10 (permalink)  
Antiguo 27/02/2008, 05:53
 
Fecha de Ingreso: junio-2007
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Enviar imagenes en el email

hola creo que la solucion mas valida es la siquiente donde formas el correo

le añades

$mensaje=<img src='http://www.tudominio.com/tuimagen.jpg'>


la variable $mensaje puede ser esa o la que tu tengaspuesta
espero haberte servido de ayuda
  #11 (permalink)  
Antiguo 27/02/2008, 06:33
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Enviar imagenes en el email

Cita:
Iniciado por jositosov Ver Mensaje
hola creo que la solucion mas valida es la siquiente donde formas el correo

le añades

$mensaje=<img src='http://www.tudominio.com/tuimagen.jpg'>


la variable $mensaje puede ser esa o la que tu tengaspuesta
espero haberte servido de ayuda
Interesante... no habia caido.

Pero lo hacen así quien envia newsletters? sus imagenes estan el server y no estan adjuntas en el email no?

No hay ningun problema en crear capas y usar css en el contenido del email no?

Gracias
  #12 (permalink)  
Antiguo 27/02/2008, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Enviar imagenes en el email

Temas unidos.

Por favor no dupliques temas.
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 14:59.