문서에 인서트 첨부 파일을 추가하는 방법이 명시되어 있지만 html 부분에서 참조하는 올바른 방법은 무엇입니까? 이미지를 다른 라이브러리에있는 그대로 자동으로 포함시킬 수 있습니까?젠드 프레임 워크를 사용하여 인라인 이미지가 포함 된 이메일을 보내는 방법은 무엇입니까?
어쩌면 누군가가 약간의 스 니펫을 작성했으며 공유 할 의향이 있습니까?
정확히 Zend_Mail를 서브 클래스했다 당신이 누군가를 위해 운이 사소한 일이, 아니다문서에 인서트 첨부 파일을 추가하는 방법이 명시되어 있지만 html 부분에서 참조하는 올바른 방법은 무엇입니까? 이미지를 다른 라이브러리에있는 그대로 자동으로 포함시킬 수 있습니까?젠드 프레임 워크를 사용하여 인라인 이미지가 포함 된 이메일을 보내는 방법은 무엇입니까?
어쩌면 누군가가 약간의 스 니펫을 작성했으며 공유 할 의향이 있습니까?
정확히 Zend_Mail를 서브 클래스했다 당신이 누군가를 위해 운이 사소한 일이, 아니다(Demo_Zend_Mail_InlineImages
) 그렇게 여기를 참조 :
http://davidnussio.wordpress.com/2008/09/21/inline-images-into-html-email-with-zend-framework/
내가 메일 클래스 래퍼를 쓰기
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;
}
는 여기 또 다른 예 : https://gist.github.com/3415630 (위 링크는 로컬 파일 : /// images에만 해당) –