2

以下のmagentoモデルを使用してbccを追加したいと思います。

addBcc('') 以下のモデルで追加しようとしました。

しかし、うまくいきません。

$mail = Mage::getModel('core/email')
                    ->setToName($senderName)
                    ->setToEmail($customerEmail)                    
                    ->setBody($processedTemplate)
                    ->setSubject('Subject')
                    ->setFromEmail($senderEmail)
                    ->setFromName($senderName)
                    ->setType('html')
                    ->send();

どんな助けでも大歓迎です! ありがとう

4

2 に答える 2

6

このMage_Core_Model_Emailクラスは bcc (または cc) をサポートしていません。sendメソッドをオーバーライドして、このコードを の直前に追加する必要があります$mail->send();

if ($this->getBcc()) {
    $mail->addBcc($this->getBcc());
}

その後、コードは次のようになります。

$mail = Mage::getModel('core/email')
                ->setToName($senderName)
                ->setToEmail($customerEmail)                    
                ->setBody($processedTemplate)
                ->setSubject('Subject')
                ->setFromEmail($senderEmail)
                ->setFromName($senderName)
                ->setType('html')
                ->setBcc('test@example.com') //bcc line added
                ->send();
于 2013-09-06T10:12:10.497 に答える
3

このオプションを試してください。その点に注意してください!AWS を使用している場合、Bcc オプションが機能しませんでした。これは AWS ポーションです。ポリシーをお読みください。希望の助け

$mail = Mage::getModel('core/email_template')
                ->setToName($senderName)
                ->setToEmail($customerEmail)
                ->addBcc('jondoe@exmaple.com')                    
                ->setBody($processedTemplate)
                ->setTemplateSubject('Subject')
                ->setFromEmail($senderEmail)
                ->setFromName($senderName)
                ->setType('html')
                ->send();

このスニペットのように使用することもできます

 $emailTemplate = Mage::getModel('core/email_template');
 $emailTemplate->loadDefault('custom_email');
 $emailTemplate->setTemplateSubject('My Subject');
 $emailTemplate->setSenderName('Store Name');
 $emailTemplate->setSenderEmail('jondoe@exmaple.com');
 $emailTemplate->addBcc('jane@doe.com'); 
 $emailTemplateVariables['price'] = $currencySymbol.number_format($_product->getFinalPrice(), 2);
 $emailTemplateVariables['productname'] = $_product->getName();
 $emailTemplate->send($email, 'My Store', $emailTemplateVariables);`
于 2013-09-06T10:12:47.743 に答える