【发布时间】:2011-09-05 12:59:28
【问题描述】:
如何将联系表单电子邮件的“发件人”字段更改为发件人的字段?例如,如果客户填写表格时使用电子邮件“test@test.com”,我如何使生成的电子邮件来自“test@test.com”?
我查看了系统管理面板中的“电子邮件发件人”字段,但这仅允许一系列预设的商店电子邮件。
非常感谢
【问题讨论】:
标签: email magento contact-form
如何将联系表单电子邮件的“发件人”字段更改为发件人的字段?例如,如果客户填写表格时使用电子邮件“test@test.com”,我如何使生成的电子邮件来自“test@test.com”?
我查看了系统管理面板中的“电子邮件发件人”字段,但这仅允许一系列预设的商店电子邮件。
非常感谢
【问题讨论】:
标签: email magento contact-form
这个被发送的地方是app/code/core/Mage/Contacts/controllers/IndexController.php at abouts line 100。看起来电子邮件的回复地址已经设置为帖子中的电子邮件地址,所以如果你只是想得到更简单的回复,我建议不要玩弄它。
您可能会看到的另一个问题是,发送带有欺骗性“发件人”地址的电子邮件可能会导致您的网站很快被许多电子邮件提供商列入黑名单,这可能会影响您的其他业务。
也就是说,如果您仍然想这样做,请在该文件中更改以下代码:
$mailTemplate->setDesignConfig(array('area' => 'frontend'))
->setReplyTo($post['email'])
->sendTransactional(
Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER), // change this
Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
null,
array('data' => $postObject)
);
希望有帮助!
谢谢, 乔
【讨论】:
Magento Contact Form - been receiving email from myself 是这个问题的新副本,乔的回答让我走上了正确的道路。在我对重复问题的回答中,我编写了一个自定义模块来覆盖 app/code/core/Mage/Contacts/controllers/IndexController.php 并最终将上面指示的行更改为 array('name'=>$post['name'], 'email'=>$post['email']), 以进行修复。
恕我直言,当我在核心中进行紧急小修复时,必须保留直到正确超载,我肯定会在每一行结束时加上我的首字母两次 //CKCK hack to fix ___ 的评论,然后您可以对此进行 grep 并查看全部通过 ssh shell 你的模组:app/code/core$ grep -rn "CKCK" *
我也在使用 github 进行版本控制,这也有帮助。
【讨论】: