2012-03-22 215 views
0

我在幾篇博客文章中看到,這是在Magento中發送電子郵件的常用方式,但我爲了我的生活,不知道爲什麼此電子郵件不是以1.10發送的!這是我的方法:通過Magento發送電子郵件

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的其他部分電子郵件的工作原理是正常工作,所有這一切,也可以通過這個去的時候,這裏我所有的變量都正確,而不是空洞的定義。

謝謝!

回答

0

您確定存在ID = 1的交易電子郵件嗎?
嘗試設置$templateId='sales_email_order_template'
這是一個默認模板,應該適合工作腳本。 也檢查exception.log。

+0

謝謝..生病給了一個鏡頭。是的,1確實存在。給我幾個小時,讓這一去。 – 2012-03-22 21:06:10