Foros del Web » Programando para Internet » PHP »

Problema con phpMailer y AddEmbeddedImage

Estas en el tema de Problema con phpMailer y AddEmbeddedImage en el foro de PHP en Foros del Web. Buenas, estoy intentando enviar una imagen embedida en un cuero de mail, pero la imagen no me la está mostrando. Tengo este código: <? require("class.phpmailer.php"); ...
  #1 (permalink)  
Antiguo 24/10/2008, 03:35
 
Fecha de Ingreso: agosto-2002
Ubicación: En frente de un PC blanco muu grande
Mensajes: 183
Antigüedad: 21 años, 8 meses
Puntos: 0
Problema con phpMailer y AddEmbeddedImage

Buenas,

estoy intentando enviar una imagen embedida en un cuero de mail, pero la imagen no me la está mostrando.

Tengo este código:

<?
require("class.phpmailer.php");

$nombre = $_GET['n'];
$email = $_GET['e'];
$nombred = $_GET['nd'];
$emaild = $_GET['ed'];
$file = $_GET['f'];

$mail = new PHPMailer();

$mail->From = $email;
$mail->FromName = $nombre;
$mail->Mailer = "smtp";
$mail->Subject = "prueba embed";
$mail->AddEmbeddedImage('http://www.xxxx.com/pub/voto/20081024101008.jpg','myfoto');
$mail->AddAddress($emaild, $nombred);
$mail->IsHTML(true); // enviar como HTML
$body = "<HTML><BODY>Hola <font size=\"4\">" . $nombred . "</font>, <p>";
$body .= "Tu amigo <i>".$nombre."</i> te envía la siguiente fotografía.<p><img src='cid:myfoto' border=0 /></BODY></HTML>";
$mail->Body = $body;

if(!$mail->Send())
{
echo "There has been a mail error sending to " . $row["email"] . "<br>";
// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();

} else{

print "Mensaje enviado";
}

?>

He probado con rutas relativas y de absolutas y no me hace el replace del cid por la imagen.

¿Que puede fallar?
__________________
Buitre no come alpiste
  #2 (permalink)  
Antiguo 24/10/2008, 04:35
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Problema con phpMailer y AddEmbeddedImage

AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64",
$type = "application/octet-stream")
Cita:
Iniciado por phpMailer
Make sure to set the $type to an image type. For JPEG images use "image/jpeg" and for GIF images use "image/gif".
Código PHP:
$pathImage "http://www.xxxx.com/pub/voto/20081024101008.jpg";
$cid 'mi foto';

$mail->AddEmbeddedImage($pathImage,$cid,$cid,'base64','image/jpeg' ); 
fijate de esta forma por las dudas
  #3 (permalink)  
Antiguo 24/10/2008, 05:06
 
Fecha de Ingreso: agosto-2002
Ubicación: En frente de un PC blanco muu grande
Mensajes: 183
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Problema con phpMailer y AddEmbeddedImage

pues cambié el código por:

$pathImage = "http://www.xxxxx.com/pub/voto/20081024101008.jpg";
$cid = 'mi foto';
$mail->AddEmbeddedImage($pathImage,$cid,$cid,'base64','i mage/jpeg' );

$body = "<HTML><BODY>Hola <font size=\"4\">" . $nombred . "</font>, <p>";
$body .= "Tu amigo <i>".$nombre."</i> te envía la siguiente fotografía.<p><img src='cid:".$cid."' border=0 /></BODY></HTML>";


Lo que pasa es que sigo sin verlo correctamente.
__________________
Buitre no come alpiste
  #4 (permalink)  
Antiguo 25/10/2008, 02:14
 
Fecha de Ingreso: agosto-2002
Ubicación: En frente de un PC blanco muu grande
Mensajes: 183
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: Problema con phpMailer y AddEmbeddedImage

nadie tiene idea de que puede fallar?

Algún header o algo por el estilo?
__________________
Buitre no come alpiste
  #5 (permalink)  
Antiguo 25/10/2008, 04:28
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema con phpMailer y AddEmbeddedImage

Buenos dias,

Yo utilizo phpmailer, y lo que hago es quitar todas las comillas tanto simples como dobles en el codigo html. Por otro lado la direccion en la propiedad "src" de image debe ser una ruta absoluta, yo habitualmente a esta direccion absoluta tampoco le pongo ningun tipo de comillas.

A mi en particular me funciona. En cuanto a las cabeceras, le puedes indicar la codificacion, yo no lo suelo indicar:

$mail->CharSet = "iso-8859-1";

Simplemente le indico: $mail->IsHTML(true);

Espero te sea de ayuda. Un saludo.
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 16:02.