将收件人添加到Magento邮件模板

时间:2013-12-15 17:48:30

标签: php magento email

我正在尝试向Magento联系表单添加“向我发送副本”功能。请参阅下面的代码。如果您不知道,Magento需要$ _POST并将其复制到$ post。

我试过了 - > setRecipient和 - > setRecipients。我找不到关于这些的文档,所以我假设你只是将电子邮件作为变量插入而不是数组。

$ post ['email']是一个基本的文本变量,如“user@domain.com”;

            if($post['sendmeacopy']==true){
             /* @var $mailTemplate Mage_Core_Model_Email_Template */
            $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                ->setSenderEmail('no-reply@bonposh.com')
                ->setRecipients($post['email'])
                ->setReplyTo('no-reply@bonposh.com')
                ->sendTransactional(
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
                    Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
                    null,
                    array('data' => $postObject)
                );
            }

1 个答案:

答案 0 :(得分:0)

您将收件人电子邮件地址作为Mage_Core_Model_Email_Template::sendTransactional()中的第三个参数传递。此参数传递给Mage_Core_Model_Email_Template::send(),它接受​​一组电子邮件。因此可以传递一系列电子邮件收件人。不需要调用其他方法。 Mage_Core_Model_Email_Template也提供addBCC方法。

假设$post['email']是一组电子邮件地址,您将相同邮件发送给不同收件人的代码可能如下所示:

 /* @var $mailTemplate Mage_Core_Model_Email_Template */
$mailTemplate->setDesignConfig(array('area' => 'frontend'))                                
    ->setReplyTo('no-reply@bonposh.com')
    ->sendTransactional(
        Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
        'no-reply@bonposh.com',
        $post['email'],
        null,
        array('data' => $postObject)
    );