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


Adding recipient to Magento mail template

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

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

$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)
                );
            }

您将收件人的电子邮件地址作为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)
    );