отправить письмо через Magento - PullRequest
0 голосов
/ 23 марта 2012

Я видел в нескольких статьях блога, что это распространенный способ отправки электронного письма в Magento, но я на всю жизнь не знаю, почему это электронное письмо не отправляется в 1.10!Это мой метод:

protected function _emailCode($code, $invoice) {

    $order = $invoice->getOrder();
    // Transactional Email Template's ID
    $templateId = 1;

    // Set sender information
    $senderName = Mage::getStoreConfig('trans_email/ident_support/name');
    $senderEmail = Mage::getStoreConfig('trans_email/ident_support/email');
    $sender = array('name' => $senderName,
                'email' => $senderEmail);

    // Set recepient information
    $recepientEmail = $order->getCustomerEmail();
    $recepientName = $order->getCustomerName();     

    // Get Store ID
    $storeId = Mage::app()->getStore()->getId();

    // Set variables that can be used in email template
    $vars = array('voucherCode' => $code);

    $translate  = Mage::getSingleton('core/translate');

    // Send Transactional Email
    Mage::getModel('core/email_template')
        ->sendTransactional($templateId, $sender, $recepientEmail, $recepientName, $vars, $storeId);

    $translate->setTranslateInline(true);
}

Я должен отметить, что электронная почта работает в других частях Magento, поэтому sendmail работает правильно, и все это, также все мои переменные здесь определены правильно и не пусты при прохождении через это.

Спасибо!

1 Ответ

0 голосов
/ 23 марта 2012

Вы уверены, что транзакционная электронная почта с ID = 1 существует?
попробуйте установить $templateId='sales_email_order_template'
это шаблон по умолчанию, должен соответствовать рабочему сценарию.Проверьте также файл exception.log.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...