Nasıl Zend Framework kullanarak satır içi görüntüler ile bir e-posta göndermek için?

2 Cevap php

Dokümantasyon inline Apara eklemek nasıl belirtir, ancak html kısmından onu referans doğru yolu nedir? O, diğer kütüphanelerde olduğu gibi görüntüleri otomatik olarak dahil etmek mümkün mü?

Belki birileri biraz pasajı yazılı ve paylaşmaya istekli olduğunu?

2 Cevap

Bu tam olarak (Demo_Zend_Mail_InlineImages), burada görmek yapmak için birisi Zend_Mail sınıflandırma olan şanslı önemsiz bir şey değil:

http://davidnussio.wordpress.com/2008/09/21/inline-images-into-html-email-with-zend-framework/

i posta sınıf için sarıcı yazmak

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;
}