Foros del Web » Programando para Internet » PHP »

phpmailer no me envia imagenes

Estas en el tema de phpmailer no me envia imagenes en el foro de PHP en Foros del Web. hola tengo este script Código PHP: <? require( "class.phpmailer.php" ); $mail  = new  PHPMailer (); $mail  -> IsSMTP ();  //llama la clase SMTP server $mail  -> IsHTML ( true ); ...
  #1 (permalink)  
Antiguo 09/08/2006, 15:31
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
phpmailer no me envia imagenes

hola tengo este script

Código PHP:

<?
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail ->IsSMTP(); //llama la clase SMTP server
$mail ->IsHTML(true);
$mail ->Host "mail.parquesoft.com"//Servidor SMTP
$mail ->From "[email protected]"// Correo de Envio
//$mail ->AddAttachment("archivos/caballo.jpg"); //adjunta un archivo
$mail->AddEmbeddedImage("caballo.jpg""my-attach""rocks.png"); 
//$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"'> //envia imagen embedida
$mail ->AddAddress("[email protected]"); //Direccion de Envio

$mail ->Subject "prueba de phpMailer";
$mail->Body 'correo enviado <img alt="PHPMailer" src="cid:my-attach"> '//envia imagen embedida
$mail ->WordWrap 50;

if (!
$mail->Send())
{
    echo 
"El Mensaje no se pudo enviar";
    echo 
"Error del Php Mailer: " $mail->ErrorInfo;
}
else
{
    echo 
"El Mensaje se Envio Satisfactoriamente";
}

?>
y resulta que cuando me llega el correo a mi cuenta del outlook, llega el cuadro como si viniera la imagen pero no la despliega y debo aclarar que mi outlkook no tiene configurada la opcion para restrinmgir imagenes, y cuando lo envio a mi cuenta de hotmail, no me lo envia, que tengo mal? ahh la imagen que intento enviar la tengo en la misma carpeta pero no me funciona
__________________
Say no more.......
  #2 (permalink)  
Antiguo 09/08/2006, 16:02
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 0
Código PHP:
$mail->AddAttachment("archivos/caballo.jpg""caballo.jpg") ; 
  #3 (permalink)  
Antiguo 09/08/2006, 16:05
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
father, a que te refieres mencionandome esa linea? esa la tengo comentada porque no la estoy usando, y si le quito el comentario me llegaria pero como archivo adjunto y yo necesito es que me llegue la imagen ahi puesta en el mensaje.
__________________
Say no more.......
  #4 (permalink)  
Antiguo 09/08/2006, 16:12
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 0
mmm, porque no le agregas toda ladireccion de el servidor en donde se encuentra tu imagen,

Código PHP:
$mail->Body 'correo enviado <img alt="PHPMailer" src="http://serever/folder/imagen.jpg"> ' 
  #5 (permalink)  
Antiguo 09/08/2006, 16:16
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
nada lo acabo de probar asi y no me da
__________________
Say no more.......
  #6 (permalink)  
Antiguo 09/08/2006, 18:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por fatherjuan Ver Mensaje
mmm, porque no le agregas toda ladireccion de el servidor en donde se encuentra tu imagen,

Código PHP:
$mail->Body 'correo enviado <img alt="PHPMailer" src="http://serever/folder/imagen.jpg"> ' 
Es una opción .. pero PHPMailer te permite "incrustar" tu imagen como parte del cuerpo del mensaje y llamarla en el HTML de tu e-mail compuesto según ese "cid:..." que hace referencia a un archivo que viene adjunto en el própio e-mail. Así la imagen en este caso .. va si o si en el e-mail y así se verá .. no dependiendo de que el cliente de correo que reciba el e-mail permita o no vinculos externos (como la mayorìa suelen bloquear o permiten hacerlo)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 10/08/2006, 08:58
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
ok, ya adjunte la imagen con AddAttach, pero hasta el momento no me da resultado, cuando llega el correo al buzon solo despliegaun cuadro con un x roja que indica que no encuentra la imagen

este es el script que tengo ahora

Código PHP:
<?
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail ->IsSMTP(); //llama la clase SMTP server
$mail ->IsHTML(true);
$mail ->Host "mail.parquesoft.com"//Servidor SMTP
$mail ->From "[email protected]"// Correo de Envio
$mail ->AddAttachment("http://www.share-marketing.com/caballo.jpg","my-atach","image/jpg"); //adjunta un archivo
$mail->AddEmbeddedImage("caballo.jpg""my-atach""caballo.jpg"); 
$mail ->AddAddress("[email protected]"); //Direccion de Envio

$mail ->Subject "prueba de phpMailer";
$mail->Body 'correo enviado <img alt="PHPMailer" src="cid:my-attach"> '//envia imagen embedida
$mail ->WordWrap 50;

if (!
$mail->Send())
{
    echo 
"El Mensaje no se pudo enviar";
    echo 
"Error del Php Mailer: " $mail->ErrorInfo;
}
else
{
    echo 
"El Mensaje se Envio Satisfactoriamente";
}

?>
sera que es porque lo estoy probando en mi localhost y no en el hosting?
__________________
Say no more.......
  #8 (permalink)  
Antiguo 10/08/2006, 09:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Buff .. que lio tienes ...

El método "AddAttachment" se usa para "adjuntar" un archivo .. no para usarlo para "incrustarlo" en el HTML de tu e-mail .. que para eso se usa el método: AddEmbeddedImage

Los archivos que haces referencia -DEBEN- estar en tu servidor .. Si usas lo que llamas "localhost" (por favor ... no uses ese termino, di que es tu servidor pruebas tuyo .. de tu "casa" .. u otro servidor .. pero no "localhost" ..)

Si tu haces pruebas en tus própios servidores (en tu casa), el archivo que ajuntes debe estar en ese servidor y en la -ruta- absoluta que corresponda (no en http://http://www.share-marketing.com/caballo.jpg).

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 10/08/2006, 09:33
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
listo perfecto ya logre adjuntar el archivo que tengo en mi equipo, pero ahora me saca este error:

Cita:
Error del Php Mailer: Unknown encoding: image/jpeg
y estas son las lineas como adjunto la imagen y como la incrusto
Código PHP:
$mail ->AddAttachment("caballo.jpg","my-atach","image/jpeg"); //adjunta un archivo
$mail->AddEmbeddedImage("caballo.jpg""my-atach""caballo.jpg"); 
porque me da ese error?
__________________
Say no more.......
  #10 (permalink)  
Antiguo 10/08/2006, 10:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te recomiendo encarecidamente que leas la documentación oficial de PHPMailer .. por qué estás poniendo "cosas" (parámetros y valores) por poner (o esa es la impresión que me dá).

Fijate:
http://phpmailer.sourceforge.net/doc...#AddAttachment

El método Addattachment() sobra con los dos primeros parámetros: nombre y ruta del archivo original y el nombre que quedará cuando lo descargues .. Lo normal es que sea el MISMO! y no tiene nada que ver con "AddEmbeddedImage" y sus parámetros!!!.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 10/08/2006, 10:24
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
estimado cluster, quiero decirte que ya he leido la documentacion oficial del phpmailer y si me estoy remitiendo a los foros en busca de ayuda es precisamente porque no he podido lograr dar resultado a mi tarea, al fin y al cabo? es precisamente para eso que estan los foros o no??? pues llevo 4 años participando de ellos y generalmente me han ayudado, no busco que me hagan el script simplemente busco ayuda para solucionar mi problema, y como lo digo, si me remito aqui es porque con la documentacion no he podido.
__________________
Say no more.......
  #12 (permalink)  
Antiguo 10/08/2006, 12:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por el_cesar Ver Mensaje
estimado cluster, quiero decirte que ya he leido la documentacion oficial del phpmailer y si me estoy remitiendo a los foros en busca de ayuda es precisamente porque no he podido lograr dar resultado a mi tarea, al fin y al cabo? es precisamente para eso que estan los foros o no??? pues llevo 4 años participando de ellos y generalmente me han ayudado, no busco que me hagan el script simplemente busco ayuda para solucionar mi problema, y como lo digo, si me remito aqui es porque con la documentacion no he podido.
Como yo no sé si has visto la documentación y noto que no es así o no la has entendido por el uso que haces de las funciones o métodos que describe esta y como lo aplicas .. por eso hago el comentario sin más fin que el que expongo.

¿Que no entiendes de la documentación? .. Sólo tienes que pegar aquí las explicaciones que no entiendas .. De todas formas, en anteriores mensajes ya por mi parte te describí justamente su sintax básica y no sólo yo .. también lo hicieron aquí

Ahora es cosa de que tu hagas aclaraciones como esta ... no tanto en "defensa própia" sino haciendo esta acotación .. que leistes la documentación oficial y que tal vez no entienes a que se refiere con tal término y por eso te vistes obligado a poner "cualquier cosa" por qué no lo sabías .. Creo que es la mejor forma de afrontar un problema y exponer en un lugar público como este: un foro .. donde no sabemos que has hecho .. que estás haciendo o que dejas de hacer al respecto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 10/08/2006, 12:59
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
de acuerdo cluster, describiendo un poco el proceso que he seguido, puedo decir que:

el script que tengo, ya esta enviando el correo cuando dejo el script solo con esta linea
Código PHP:
$mail ->AddAttachment("caballo.jpg","my-atach","binary","image/jpeg"); //adjunta un archivo 
de esa manera la imagen llega como adjunta, hasta alli todo normal, pero resulta que cuando le pongo

Código PHP:
$mail ->AddEmbeddedImage("caballo.jpg" "my-atach""caballo.jpg"); 
que es la linea que segun entiendo incrusta la imagen, ya ni siquiera envia el correo, ahora:

antes en el script tenia solo esta linea
Código PHP:
$mail ->AddEmbeddedImage("caballo.jpg" "my-atach""caballo.jpg"); 
y pues no me enviaba nada, pero, siguiendo tu recomendacion cluster (y pareciendome logico)

decidi adjuntar primero el archivo y luego ponerle la otra linea dejandolo asi
Código PHP:
$mail ->AddAttachment("caballo.jpg","my-atach","binary","image/jpeg"); 
$mail ->AddEmbeddedImage("caballo.jpg" "my-atach""caballo.jpg"); 
pero no me funciona, pues solo envia el correo si oculto la linea del AddEmbedded

no se si depronto ya sera problema de la clase?
__________________
Say no more.......
  #14 (permalink)  
Antiguo 10/08/2006, 13:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Textualmente te faltó una coma por médio en el método AddEmbeddedImage() .. los "tres" datos que se requieren son "parámetros" .. por eso van separados por comas .. Tal vez sea un despiste (pero insisto .. fijandote una vez más en la documentación lo podrías corroborar).

Código PHP:
$mail ->AddEmbeddedImage("caballo.jpg","my-atach","caballo.jpg"); 
Sólo necesitarías usar esa línea .. el "attach" ya no correspondería.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 10/08/2006, 14:28
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
pos nada, no me funciono, y la verdad ya me esta dando es piedra, por lo que decidi probar con el phplist, y bien ya lo instale pero resulta que cuando le doy enviar mensaje, me manda a otro lado me manda a este sitio http://www.phpfreaks.com/forums/inde...64329&view=new

no se, que es???
__________________
Say no more.......
  #16 (permalink)  
Antiguo 10/08/2006, 18:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por el_cesar Ver Mensaje
pos nada, no me funciono, y la verdad ya me esta dando es piedra, por lo que decidi probar con el phplist, y bien ya lo instale pero resulta que cuando le doy enviar mensaje, me manda a otro lado me manda a este sitio http://www.phpfreaks.com/forums/inde...64329&view=new

no se, que es???
Si ya abandonastes tus pruebas e intentos con PHPMailer .. por favor y por tu bien .. inicia un nuevo tema al respecto ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 11/08/2006, 10:55
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
Bueno, la verdad no habia tenido en cuenta el punto de abrir un nuevo tema con el cuento del phplist, por eso ofrezco mis disculpas, pero, como es dificil abandonar un proyecto no pude evitar seguir trabajando con el phpmailer y ahora tengo mi script asi:

Código PHP:
<?
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); //llama la clase SMTP server
$mail->IsHTML(true);
$mail->Host "mail.parquesoft.com"//Servidor SMTP
$mail->From "[email protected]"// Correo de Envio
$mail->Mail->FromName "Cesar Jaramillo";
//$mail->AddAttachment("caballo.jpg","my-atach","binary","image/jpeg"); //adjunta un archivo
if (!$mail->AddEmbeddedImage('caballo.jpg',
                             
'12345',
                             
'caballo.jpg',
                             
'base64''image/jpeg')) {
  echo 
'Fallo intentando usar una imagen embebida!<br />';
}

//$mail ->AddEmbeddedImage("caballo.jpg" "my-atach", "caballo.jpg"); 
$mail->AddAddress("[email protected]""Cesar");
$mail->AddAddress("[email protected]""Cesar");
$mail->AddAddress("[email protected]""Cesar");
$mail->AddAddress("[email protected]""Cesar" );


$mail->Subject "prueba de phpMailer";

$html '<b>Saludos</b><br />';

// Embed an image using cid:12345
$html .= 'Si siguen jodiendo les mando a mi caballo <img src="cid:12345" />';

// Add message to body
$mail->Body $html;

$mail->WordWrap 50;

$txt "Cordial Saludo!\n";
$txt .= "No jodan mas o les mando a mi caballo";

// Add message as alternative
$mail->AltBody $txt;

if (!
$mail->Send())
{
    echo 
"El Mensaje no se pudo enviar";
    echo 
"Error del Php Mailer: " $mail->ErrorInfo;
}
else
{
    
$random rand();
    echo 
"El Mensaje se Envio Satisfactoriamente $random";
}

?>
pero ahora pasa algo bien curioso, lo pruebo en otro pc y corre perfecto, es decir envia los correos con la imagen incrustada y tal como lo necesito, pero lo pruebo en mi pc o lo subo a mi hosting y no funciona, ya esto me da es hasta risa....

sera que alguien sabe que es lo que pasa?
__________________
Say no more.......

Última edición por el_cesar; 11/08/2006 a las 11:17 Razón: se me olvido agregar una linea
  #18 (permalink)  
Antiguo 11/08/2006, 11:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Prueba bien que diferencias entre la pc que lo pruebas y tu pc, asi como comparar el php.ini y todo, a lo mejor puede ser que te falte instalar una extension que sea nescesaria.
  #19 (permalink)  
Antiguo 11/08/2006, 11:30
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
umm buen punto
__________________
Say no more.......
  #20 (permalink)  
Antiguo 11/08/2006, 12:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías forzar ver mensajes de error si los tienes (pero no estás viendo) con:

error_reporting()
www.php.net/error_reporting

Ajustalo para que te muestre todo tipo de errores y avisos .. Es problable que por ahí veas el problema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 09:24.