我有一个为 CONTACT US 表格和 CUSTOM 表格(如保修表格)设置的电子邮件地址,它是从 Magento 上的 CONTACT US 表格 Multiple Contact Forms创建的。
我想将此电子邮件与变体主题分开(当从联系我们发送电子邮件时,表单主题应该是联系,当从自定义/保修表单发送电子邮件时,电子邮件的主题应该是保修)
什么是最好的解决方案?我该怎么办?
我有一个为 CONTACT US 表格和 CUSTOM 表格(如保修表格)设置的电子邮件地址,它是从 Magento 上的 CONTACT US 表格 Multiple Contact Forms创建的。
我想将此电子邮件与变体主题分开(当从联系我们发送电子邮件时,表单主题应该是联系,当从自定义/保修表单发送电子邮件时,电子邮件的主题应该是保修)
什么是最好的解决方案?我该怎么办?
要在联系我们 Magento 中向多个收件人发送电子邮件,您可以通过这种方式进行托盘发送。
第一步,你可以在 app/code/core/Mage/Contacts/Controllers/IndexController.php 找到这一行
$mailTemplate = Mage::getModel('core/email_template');
/* @var $mailTemplate Mage_Core_Model_Email_Template */
$mailTemplate->setDesignConfig(array('area' => 'frontend'))
->setReplyTo($post['email'])
->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)
);
并修改为:
$recipients = Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT);
if ($recipients)
{
$recipients = explode(";",$recipients);
if(count($recipients))
{
foreach($recipients as $recipient) {
$mailTemplate = Mage::getModel('core/email_template');
/* @var $mailTemplate Mage_Core_Model_Email_Template */
$mailTemplate->setDesignConfig(array('area' => 'frontend'))
->setReplyTo($post['email'])
->sendTransactional(
Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
$recipient,
null,
array('data' => $postObject)
);
if (!$mailTemplate->getSentSuccess()) {
throw new Exception();
}
}
}
}
并且不要忘记在 app/code/core/Mage/Contacts/etc/system.xml 上评论验证 javascript
找到这一行:
<recipient_email translate="label">
<label>Send Emails To</label>
<frontend_type>text</frontend_type>
<!--<validate>validate-email</validate>-->
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</recipient_email>
对此行发表评论<validate>validate-email</validate>
此代码适用于 magento 1.7.0.2 中的我。我希望这对您的问题有所帮助.. :D
不要忘记保存和清除缓存..
您可以做的是添加一个包含电子邮件主题的隐藏表单字段。
然后转到 admin -> Transaction Email 并将模板主题更改为
{{var data.formsubject}}
为每个表单添加一个隐藏字段
<input type="hidden" name="formsubject" value="Subject Here" />
阅读更多@自定义交易电子邮件