Foros del Web » Programando para Internet » PHP »

como puedo insertar imagen en el body de un email

Estas en el tema de como puedo insertar imagen en el body de un email en el foro de PHP en Foros del Web. Hola a todos de antemano felicitar a este foro pues me ha ayudado mucho en la creación de mis páginas. La cuestión es que ahora ...
  #1 (permalink)  
Antiguo 13/01/2009, 13:09
 
Fecha de Ingreso: enero-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 1
SOLUCIONADO como puedo insertar imagen en el body de un email

Hola a todos de antemano felicitar a este foro pues me ha ayudado mucho en la creación de mis páginas.
La cuestión es que ahora se me ha presentado un problema y no he encontrado nada el foro que me lo explique bien como hacerlo.
El problema es que quiero enviar correos através del PHPMailer y quiero incorporar un pie de mensaje con mi logo y mis datos.
Alguien de Uds. podría ayudarme.
Gracias a todos por adelantado.

Última edición por jsb49; 14/03/2009 a las 17:54 Razón: SOLUCIONADO
  #2 (permalink)  
Antiguo 13/01/2009, 13:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como puedo insertar imagen en el body de un email

¿¿ sabes HTML ???

pues, has una plantilla de HTML .... y la usas para tu email, por cierto que...

las imágenes debes colgarlas en internet... y usar la ruta completa para mostrarlas...

eso si, es un hecho que aunque mandes las imágenes los clientes de email, pueden bloquearlas...

otra técnica es usar el protocolo data: para embeber las imágenes....

Enlace: http://danielmclaren.net/2008/03/emb...into-a-webpage
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/01/2009, 15:14
 
Fecha de Ingreso: enero-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como puedo insertar imagen en el body de un email

Pateketrueke gracias por responder a mi problema.
Perdona pero soy muy novato en esto de los foros y no se muy bien como funciona, si ves algo raro y que pueda mejorar en mis mensajes dimelo.
Respecto a tú pregunta, acabo de hacer un curso de html, pero creo que han quedado muchisimas cosas en el tintero, como por ejemplo el protocolo "data", te adjunto la parte donde tengo el html y el correspondiente al envío del email.

require("../phpmailer/class.phpmailer.php");
$mail= new phpmailer;

Resto de $pantalla.="".....
$pantalla.="<tr><td class='letraparrafo' align= 'center' width='25%' colspan='2'>Guarde en lugar seguro su Nombre de Usuario y Contraseña.</td></tr></table>";
$pantalla.="<br><br><hr width='80%' color='blue'";
$pantalla.="<img src='http://localhost/newdiseng/imagenes/globo2.gif' width='20' height='20'>&nbsp;&nbsp;&nbsp;DISENGWEB<BR>";
$pantalla.="</body></html>";
//$mail->AddEmbeddedImage('imagenes/globo2.gif', $type = "image/gif");

$mail->Mailer="smtp";
$mail->Host="xxx.xxxxxxx.es";
$mail->Port=25;
$mail->SMTPAuth=true;
$mail->IsHTML(true);
$mail->Username="[email protected]";
$mail->Password="xxxxxx";
$mail->From="[email protected]";
$mail->FromName="DISENGWEB";
$mail->Subject=("$titulo");
$mail->AddAddress($_POST["email"]);
$mail->Body=("$pantalla");

Espero que esto sirva para que comprendas un poco lo que quiero hacer.
$exito=$mail->Send();

Un saludo y de nuevo GRACIAS.
JSB49
  #4 (permalink)  
Antiguo 13/01/2009, 15:41
 
Fecha de Ingreso: julio-2008
Mensajes: 109
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como puedo insertar imagen en el body de un email

No sé si te servirá pero yo creo un fondo para outlook express en html y envío ese fondo , que ya tiene contenido creado en html, me ha funcionado casi para todos excepto gmail, si se ven las imagenes dentro del correo pero no me toma ninguna otraa etiqueta, el tema es que mandando por outlook( es para lo unico que lo uso)los correos llegan con las imagenes, los servidores de correo no preguntan si se las quiere ver o no simplemente las muestran
  #5 (permalink)  
Antiguo 13/01/2009, 15:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como puedo insertar imagen en el body de un email

$pantalla.="<img src='http://localhost/newdiseng/imagenes/globo2.gif' width='20' height='20'>&nbsp;&nbsp;&nbsp;DISENGWEB<BR>";

La imagen debe ser accesible desde internet, estando en localhost solo desde tu pc se podra descargar.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 13/01/2009, 16:16
 
Fecha de Ingreso: enero-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como puedo insertar imagen en el body de un email

Hola Tryby:

Lo que me dices es cierto, ya lo se pero lo estoy ejecutando desde el localhost para hacer pruebas para despues colgarlo en el servidor, pero cuando envío el email, tampoco sale la imagen en el correo que me entra, espero sepas o sepais decirme donde tengo el fallo.

GRACIAS de nuevo.
  #7 (permalink)  
Antiguo 13/01/2009, 18:11
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: como puedo insertar imagen en el body de un email

jsb49:
Creo que lo mejor es que $pantalla vaya como mensaje html.
Algo asi ->
mail($correo,
$asunto,
"<html>
<head>
<title>Envio Personalizado www.tusitio.com</title>
</head>
<body>
<H4>Su Envio Personalizado a Correos!.</H4>
$pantalla<br>
<u>Cortesia de: www.tusitio.com</u><br>
Para <b>Sus Clientes Exclusivos!.</b> De Correo Web.
</body>
</html>",
"Content-type: text/html\n",
"From: $correo \nReply-To: $correo");

Donde dice $pantalla pones lo que el amigo Triby te ha mostrado.
Claro que este es un ejemplo y lo debes adecuar a la clase que utilizas!!!!.

Existe otra forma que es prescindir de la clase phpmailer e incluir imagenes como "inline attachments" que es un tanto mas complejo.

Saludos
Franco
  #8 (permalink)  
Antiguo 14/01/2009, 04:58
 
Fecha de Ingreso: enero-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como puedo insertar imagen en el body de un email

Hola a todos.

Os agradezco la panciencia y la dedicación que habies tenido con este tema y todas vuestras aportaciones al mismo.

Después de varíos intentos al fin he logrado que funcione el envío de la imagen en el cuerpo del mensaje.

Soy estupendos, espero tener la ocasión de poder ayudar alguna vez con mis muy pocos conocimiento, pero el tiempo, el trabajo y los errores hacen la experiencia.

Un saludo a todos.
  #9 (permalink)  
Antiguo 14/03/2009, 10:26
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: como puedo insertar imagen en el body de un email

yo tambien quiero hacer lo mismo, pero no me queda claro como hacerlo desde mi correo de yahoo.
ojala me ayuden!
  #10 (permalink)  
Antiguo 14/03/2009, 15:34
 
Fecha de Ingreso: enero-2007
Ubicación: Argentina
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: como puedo insertar imagen en el body de un email

Pss, cuando sean codigos PHP ponelo asi:

[*php*]CODIGO ACA[*/php*]

(es sin los *, pero si no los coloco, va a aparecer el codigo php jaja)

Asi es más facil la lectura ;)

Quedaría asi por ejemplo:

Código PHP:
$mail->Mailer="smtp";
$mail->Host="xxx.xxxxxxx.es";
$mail->Port=25;
$mail->SMTPAuth=true;
$mail->IsHTML(true);
$mail->Username="[email protected]";
$mail->Password="xxxxxx";
$mail->From="[email protected]";
$mail->FromName="DISENGWEB";
$mail->Subject=("$titulo");
$mail->AddAddress($_POST["email"]);
$mail->Body=("$pantalla"); 
  #11 (permalink)  
Antiguo 14/03/2009, 17:53
 
Fecha de Ingreso: enero-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como puedo insertar imagen en el body de un email

Gracias Rodrigosars, ya lo he podido solucionar, lo he echo de otra forma lo he incrustado dentro de una tabla en una variable que despues añado al $pantalla:

$cuerpo="<table><tr><td><img src="ruta/imagen.gif,jpg"></tr></td> (el resto igual que una table html.";

$pantalla= "lo que haya escrito el usuario o uno mismo".$cuerpo;
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 19:02.