php - stexto - Agregar un archivo PDF adjunto al usar Zend_Mail
funcion mail php adjuntar archivo (1)
¿Cuál es la forma correcta de agregar un archivo adjunto cuando se usa Zend_Mail? Sigo recibiendo el siguiente error cuando intento abrir el pdf adjunto en el correo enviado: "No se puede extraer la fuente incrustada ''BAAAAAA + ArialMT''. Es posible que algunos caracteres no se muestren o no se impriman correctamente". El PDF muestra solo la tabla pero no los caracteres.
Esto es muy extraño porque el PDF se abre corectly si lo descargo directamente del servidor o en mi servidor local.
Este es el código que utilicé para enviar el archivo adjunto:
$html = $view->render(''email/invoice.phtml'');
$mail = new Zend_Mail("utf-8");
$file = PUBLIC_PATH . DS . ''data'' . DS . $invoice . ''.pdf'';
$at = new Zend_Mime_Part(file_get_contents($file));
$at->filename = basename($file);
$at->disposition = Zend_Mime::DISPOSITION_ATTACHMENT;
$at->encoding = Zend_Mime::ENCODING_8BIT;
$mail->addAttachment($at);
/* Here i add the attachment */
$mail->setBodyHtml($html);
$mail->addTo($order->email, ''Factura ''. $invoice . '' ''.Zend_Registry::get(''siteName''));
$mail->setFrom(''[email protected]'', Zend_Registry::get(''siteName''));
$mail->setSubject(''Factura ''. $invoice . '' ''.Zend_Registry::get(''siteName''));
$mail->send();
Esta es la forma correcta de hacerlo,
$mail = new Zend_Mail();
$mail->setBodyHtml("description");
$mail->setFrom(''id'', ''name'');
$mail->addTo(email, name);
$mail->setSubject(subject);
$content = file_get_contents("path to pdf file"); // e.g. ("attachment/abc.pdf")
$attachment = new Zend_Mime_Part($content);
$attachment->type = ''application/pdf'';
$attachment->disposition = Zend_Mime::DISPOSITION_ATTACHMENT;
$attachment->encoding = Zend_Mime::ENCODING_BASE64;
$attachment->filename = ''filename.pdf''; // name of file
$mail->addAttachment($attachment);
$mail->send();