次のコードは、magento モデルを介して (特定のテンプレート ID の) トランザクション メールを送信しているように見えます。
私がそれを機能させることができない唯一のビットは、トランザクション電子メールに PDF が添付されていることです。
これは私がこれまでに持っているコードです:
function GetTransactionalSender() {
return array(
'name' => Mage::getStoreConfig('trans_email/ident_support/name'),
'email' => Mage::getStoreConfig('trans_email/ident_support/email')
);
}
function SendTransactionalEmail($templateId, $recepientEmail, $recepientName, $vars, $storeId, $pdf_attachment = '') {
$status = false;
try {
$transactionalEmail = Mage::getModel('core/email_template')
->setDesignConfig(array('area' => 'frontend', 'store' => $storeId));;
if (!empty($pdf_attachment) && file_exists($pdf_attachment)) {
$transactionalEmail
->getMail()
->createAttachment(file_get_contents($pdf_attachment), 'application/pdf')
->filename = basename($pdf_attachment);
}
$transactionalEmail
->sendTransactional($templateId, GetTransactionalSender(), $recepientEmail, $recepientName, $vars);
$status = true;
} catch (Exception $e) { }
return $status;
}
$template_id = 1;
$to_email = 'user@domain.com';
$to_name = 'User Name';
$vars = array();
$store_id = 1
$pdf_file = '/full/path/to/my/file.pdf';
$sent = SendTransactionalEmail($template_id, $to_email, $to_name, $vars, $store_id, $pdf_file);
電子メールが送信されると、添付ファイルの名前はATT00001.pdfという名前で表示され、開くと空白のページになります。
私がここで間違っていることは何か分かりますか? Magento モデルを介して取引メールに PDF を添付しますか?