Seems to be complex, but its not that bad:
$orderModel = Mage::getModel('sales/order')->load($myOrderId); $invoices = $orderModel->getInvoiceCollection(); $invoicesSet = array(); foreach ($invoices as $_invoice) { array_push($invoicesSet, $_invoice); } $pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoicesSet); $file = $pdf->render(); $senderName = Mage::getStoreConfig('trans_email/ident_support/name'); $senderEmail = Mage::getStoreConfig('trans_email/ident_support/email'); $sender = array('name' => $senderName, 'email' => $senderEmail); $templateId = 'sales_email_order_template'; $emailTemplate = Mage::getModel('core/email_template')->loadByCode($templateId); $vars = array('user_name' => 'some user name', 'product_name' => 'some product name'); $emailTemplate->getProcessedTemplate($vars); $emailTemplate->setSenderEmail($senderEmail); $emailTemplate->setSenderName($senderName); $attachment = $emailTemplate->getMail()->createAttachment($file); $attachment->type = 'application/pdf'; $attachment->filename = 'invoice.pdf'; $res = $emailTemplate->sendTransactional($templateId, $sender, 'user@example.com', "Admin", $vars);
About $vars variable – in this one you can put everything which is set inside email template as variables.
Looks like it can be used, but where does this code go?