varios stexto spara sde sasunto por mail imagen funcion formulario form_mail enviar correo con archivos archivo adjuntos adjunto adjuntar php email zend-framework attachment zend-mail

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();