如何将联系表单电子邮件的“发件人”字段更改为发件人的字段?例如,如果客户要使用电子邮件“test@test.com”填写表格,我如何使生成的电子邮件来自“test@test.com”?
我查看了系统管理面板中的“电子邮件发件人”字段,但这仅允许一系列预设的商店电子邮件。
非常感谢
如何将联系表单电子邮件的“发件人”字段更改为发件人的字段?例如,如果客户要使用电子邮件“test@test.com”填写表格,我如何使生成的电子邮件来自“test@test.com”?
我查看了系统管理面板中的“电子邮件发件人”字段,但这仅允许一系列预设的商店电子邮件。
非常感谢
发送此邮件的位置app/code/core/Mage/Contacts/controllers/IndexController.php
大约在第 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 联系表 - 收到我自己的电子邮件是这个问题的新副本,乔的回答让我走上了正确的道路。在我对重复问题的回答中,我编写了一个自定义模块来覆盖app/code/core/Mage/Contacts/controllers/IndexController.php
并最终更改了上面指示的行array('name'=>$post['name'], 'email'=>$post['email']),
以进行修复。
恕我直言,当我在核心中进行紧急小修复时,必须保留直到正确超载,我肯定会在每一行结束时用我的首字母缩写两次//CKCK hack to fix ___
,然后你可以 grep 并通过 ssh shell 查看你所有的 mod :app/code/core$ grep -rn "CKCK" *
我还使用 github 进行版本控制,这也有帮助。