Foros del Web » Programando para Internet » PHP »

como enviar una imagen usando phpmailer

Estas en el tema de como enviar una imagen usando phpmailer en el foro de PHP en Foros del Web. Hola, no consigo enviar con la la funcion mail y la clase phpmailer un correo electronico con una imagen, alguien me puede decir como lograr ...
  #1 (permalink)  
Antiguo 29/11/2011, 02:16
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
como enviar una imagen usando phpmailer

Hola, no consigo enviar con la la funcion mail y la clase phpmailer un correo electronico con una imagen, alguien me puede decir como lograr esto, lo he intentado asin:

mensaje.php
Código PHP:
Ver original
  1. <?php
  2. $mensaje="<h2>imagen</h2><br/>";
  3. $mensaje.="<img src='cid:logotipo' >";
  4.  
  5. include "class.phpmailer.php";
  6. $correo=new PHPMailer();
  7. $correo->IsHTML(true);
  8. $correo->host="localhost.com";
  9. $correo->From="Remitente del correo";
  10. $correo->AddAddress("[email protected]");
  11. $correo->AddEmbeddedImage("logotipo.jpg",logotipo);
  12. $correo->Subject="mensaje prueba";
  13. $correo->FromName="[email protected]";
  14. $correo->body=$mensaje;
  15. if($correo->Send()){
  16.     echo "mensaje enivado correctamente";
  17. }else{
  18.     echo "error en el envio del mensaje";
  19. }
  20. ?>

el error que me da es este:

Notice: Use of undefined constant logotipo - assumed 'logotipo' in C:\wamp\www\ejercicios\pruebas_email\envio_email_c omplejo.php on line 9

es esta linea:

Código PHP:
Ver original
  1. $correo->AddEmbeddedImage("logotipo.jpg",logotipo);

alguna idea de porque no me funciona, saludos.

Última edición por roboty; 29/11/2011 a las 04:19
  #2 (permalink)  
Antiguo 29/11/2011, 05:26
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

Cambie la linea de la imagen por esta:


Código PHP:
Ver original
  1. $correo->AddEmbeddedImage('logotipo.jpg','logotipo','logotipo.jpg','base64','image/jpeg');
y ahora no me sale ningun error de php pero no me manda el email, alguna ayuda?saludos.
  #3 (permalink)  
Antiguo 29/11/2011, 05:35
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: como enviar una imagen usando phpmailer

Yo a las imágenes, tanto al logo como a la que envio junto a la novedad, las coloco dentro del html que armo para enviar, y no hago uso AddEmbeddedImage.
Eso no quiere decir que sea lo correcto, pero funciona.
Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #4 (permalink)  
Antiguo 29/11/2011, 05:58
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

Hola C2am, pero asin tendria que funcionar pero no se que estoy haciendo mal, saludos.
  #5 (permalink)  
Antiguo 29/11/2011, 06:05
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: como enviar una imagen usando phpmailer

Hola
En realidad mucho no sé, pero `por las dudas:
Código PHP:
Ver original
  1. $correo->AddEmbeddedImage("logotipo.jpg",logotipo);
no tendría que ser:
Código PHP:
Ver original
  1. $correo->AddEmbeddedImage("logotipo.jpg","logotipo");

Digo por lo que te dice el mensaje de error de que la variable logotipo no está definida o algo así.

Otra cosa, tal vez la ruta de la imagen debe ser absoluta.

Saludos

PD: fijate esto: http://blog.marcosesperon.es/phpmailer/
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #6 (permalink)  
Antiguo 29/11/2011, 06:07
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

Hola C2am, tienes razon pero eso ya lo solucione, ahora no me marca ningun error de php, pero no me envia el correo, saludos.
  #7 (permalink)  
Antiguo 29/11/2011, 06:21
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 9 meses
Puntos: 306
Respuesta: como enviar una imagen usando phpmailer

Ah, disculpa me quede con el primer post.
Ya pudiste enviar con anterioridad?
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #8 (permalink)  
Antiguo 29/11/2011, 06:26
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 13 años, 2 meses
Puntos: 89
Respuesta: como enviar una imagen usando phpmailer

¿Has considerado que tu proveedor de hosting esté bloqueando el envio del mail? ¿Estás en un servidor dedicado o hosting compartido?
  #9 (permalink)  
Antiguo 29/11/2011, 08:33
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

Hola Arkaitz trabajo en modo local, la funcion mail me funciona bien pero cuando quiero usar la clase phpmailer no, alguna idea?

Saludos.
  #10 (permalink)  
Antiguo 29/11/2011, 11:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

el host localhost.com es tuyo?
  #11 (permalink)  
Antiguo 29/11/2011, 12:12
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como enviar una imagen usando phpmailer

he creado una cuenta con el argomailserver que se llama [email protected], osea que si que es mio pero en modo local, saludos.
Puede ser que que la version de la classe phpmailer no sea compatible con la version php?

mi version php es 5.3.5
y la version de la clase es 5.1

ya no se que puede ser. espero la opinion de los expertos, saludos.

Última edición por roboty; 29/11/2011 a las 12:24

Etiquetas: phpmailer
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 22:01.