The documentation specifies how to add inline attachement, but what is the correct way of referencing it from the html part? Is it possible to include images automatically as it is in other libraries?
Maybe someone has written a little snippet and is willing to share?
That's not exactly a trivial thing, lucky for you someone has subclassed Zend_Mail (Demo_Zend_Mail_InlineImages
) to do that, see here:
http://davidnussio.wordpress.com/2008/09/21/inline-images-into-html-email-with-zend-framework/
i write wrapper for mail class
private function _processHtmlBody($I_html, $I_mailer, $I_data) {
$html = $I_html;
$mail = $I_mailer;
$xmlBody = new DomDocument();
$xmlBody->loadHTML($html);
$imgs = $xmlBody->getElementsByTagName('img');
$I_data['atts'] = array();
$imgCount = 0;
foreach ($imgs as $img) {
$imgCount++;
$imgUrlRel = $img->getAttribute('src');
$imgId = sha1(time() . $imgCount . $imgUrlRel);
$html = str_replace($imgUrlRel, 'cid:' . $imgId, $html);
$imgUrlFull = 'http://' . $_SERVER['HTTP_HOST'] . $imgUrlRel;
$imgBinary = file_get_contents($imgUrlFull);
$imgPart = $mail->createAttachment($imgBinary);
$imgPart->filename = 'image' . $imgCount . '.jpg';
$imgPart->id = $imgId;
$I_data['atts'][] = $imgPart;
}
$mail->setBodyHtml($html);
return $html;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With