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($fp, filesize($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