Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/05/2005, 19:43
Avatar de mixba
mixba
 
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 5 meses
Puntos: 0
Sabes lo que ocurre HiperJP?, yo pido que si digo una burrada por favor me corrijan. Por lo que he estado observando en la info adjunta y ejemplos AddEmbeddedImage solo sirve para, como bien dices, colocar imagenes embebidas en el cuerpo del mensaje, la cuestión aquí es que debo agregar manualmente una cid en cada imagen, relamente no he encontrado la manera de hacer esto automáticamente cosa de que le asigne ese valor con tan solo encontrar algo así en un código html: <img src="http://www.miweb.com/foto.jpg border="0">. He visto otra clase de similar a phpmailer con la diferencia que trabaja con la función mail(), pero hace a la perfección esto que les estoy comentando, coloca un identificador a la imagen automáticamente al encontrar un código como el anterior si tener que agregar por cada imagen esto: $mail->AddEmbeddedImage('image.gif', 'image', 'image.gif');

La clase de la que les hablo es "mmail" y como les digo, no tengo problema y hace lo que preciso, el único inconveninte es que no puedo enviar con autentificación SMTP, por lo que si uso esta clase, en el maldito hotmail los correos van a parar a la bonita carpeta "correo no deseado"

el código que utiliza esta clase es algo asi (reemplazar el img src="ubicacion" por img src"cid:blablabla")

Código PHP:
    function parseHtml($boundary)
    {
        
$images = array();
        
$html_images "";
        
preg_match_all("/src=\"[^\"]*\"/"$this->Body_html$images);
        foreach(
$images[0] as $image)
        {
            
$path preg_replace(array("/src=/""/\"/"), ""$image);
            
$iname explode('/'$path);
            
$iname $iname[count($iname)-1];
            
$itype explode('.'$iname);
            
$itype $itype[count($itype)-1];
            
$cid 'image_'.md5(microtime());
            
$path preg_replace("/http\:\/\//"""$path);
            
$path explode("/"$path);
            
$path[0] = substr($_SERVER['DOCUMENT_ROOT'],0,strlen($_SERVER['DOCUMENT_ROOT']));
            
$path implode("/"$path);
            
$fp fopen($path,'r');
            
$data chunk_split(base64_encode(fread($fpfilesize($path))));
            
fclose($fp);
            
$this->Body_html preg_replace("/(".addcslashes($image"./").")/""src=\"cid:".$cid."\""$this->Body_html);
            
$html_images .= "--".$boundary."\n".
                                            
"Content-Type: image/".$itype."; name=\"".$iname."\"\n".
                                            
"Content-Transfer-Encoding: base64\n".
                                            
"Content-ID: <".$cid.">\n".
                                            
"Content-Disposition: attachment; filename=".$iname."\n\n".
                                            
$data."\n\n";
        }
        
$this->Html_images $html_images;
        if(!
$this->Body_txt)
            
$this->Body_txt strip_tags($this->Body_html);
    } 
Será posible hacer esto con phpmailer, es que no hay nada sobre el tema.

Gracias