Question

La façon dont je l'utilise (Magento EE 1.12):

    $transactional = Mage::getModel('core/email_template');

    foreach($ccEmails as $ccEmail) {
        $transactional->addBcc(trim($ccEmail));
    }

    try{

        $transactional->sendTransactional($transactionalTemplateId, $sender, $recipientEmail, $recipientName, $vars, $storeId);

    } catch(Exception $e) {

        throw $e;

    }
Était-ce utile?

La solution

En fait, tant pis, ce n'est pas un bug Magento. Je l'ai débogués et il se trouve que Ebizmarts_Mandrill_Model_Email_Template a étendu la méthode addBcc, mais ne pas ajouter à l'instance Zend_Mail (qui Mage_Core_Model_Email_Template fait).

Je l'ai envoyé par courrier électronique ebizmarts soutien avec le correctif:

La méthode addBcc dans app/code/community/Ebizmarts/Mandrill/Model/Email/Template.php doit avoir le code suivant ajouté juste après la déclaration de fonction:

    //Check if should use Mandrill Transactional Email Service
    if(FALSE === Mage::helper('mandrill')->useTransactionalService()){
        return parent::addBcc($bcc);
    }

Dans le cas contraire Cci ne sera pas défini dans l'instance de Zend_Mail lorsque la méthode d'envoi est appelé Mage_Core_Model_Email_Template.

Pour l'instant, j'ai créé un module qui réécritures et étend le module Mandrill et redéfinit la méthode addBcc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top