Sometime we need to send a invoice pdf in a invoice mail in magento, so here I am explaining how to add invoice pdf in invoice mail.
1) Override the app/code/core/Mage/Core/Model/Email/Template/Mailer.php file in your module
2) Add one protected variable $pdftemplate
3) Edit the send() function
4) at line around 70 put the following code
if ($this->pdftemplate)
$pdftemplate = $this->variable;
else
$pdftemplate = Mage::getModel('core/email_template');
5) At the end of the class put
public function addAttachment(Zend_Pdf $pdf, $filename){
$file = $pdf->render();
$this->pdftemplate = Mage::getModel('core/email_template');
$attachment = $this->pdftemplate->getMail()->createAttachment($file);
$attachment->type = 'application/pdf';
$attachment->filename = $filename;
}
6) Override app/code/core/Mage/Sales/Model/Order/Invoice.php
7) Override the function sendEmail()
after
$mailer = Mage::getModel('core/email_template_mailer');
put
$pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf(array($this));
$mailer->addAttachment($pdf,'invoice.pdf');
That's all you have to do.
1 Comment(s)