根据客户数据将订单确认电子邮件的副本发送到不同的电子邮件地址

时间:2014-04-02 16:25:35

标签: magento

Magento:根据某些客户数据,我需要将确认电子邮件的副本发送到其他电子邮件地址。

我创建了一个观察者来捕获订单数据

checkout_onepage_controller_success_action

在我的观察者类中,我用

加载了我需要的所有数据
Mage::getModel('sales/order')->load($observer->getOrderIds());

这就像一个魅力。

现在有些代码正在选择副本应该去的电子邮件地址。

但是,如何将订单确认电子邮件的副本发送到(总是不同的)电子邮件地址?

$order->sendNewOrderEmail();

上面对我不起作用,因为我需要收件人作为参数。

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

Magento从订单数据中收集电子邮件。 尝试:

$order->setCustomerEmail("new@email.com");
$order->sendNewOrderEmail();

答案 1 :(得分:0)

最简单的方法是创建自己的订单类:

class My_Mymodule_Model_Sales_Order extends Mage_Sales_Model_Order {

    public function sendNewOrderCustomEmail($email) {
        // copy from parent's sendNewOrderEmail method with changed this line
        // $emailInfo->addTo($this->getCustomerEmail(), $customerName);
    }
}

然后在您的活动中,使用

Mage::getModel('mymodule/sales_order')
->load($order_id)
->sendNewOrderCustomEmail('myemail@...');