我正在尝试向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)
);