将magento联系表单电子邮件的“发件人”字段更改为发件人

时间:2011-05-31 14:10:07

标签: email magento contact-form

如何将联系表单电子邮件的“发件人”字段更改为发件人的“发件人”字段?例如,如果客户要使用电子邮件“test@test.com”填写表单,我该如何使生成的电子邮件来自“test@test.com”?

我查看了系统管理面板中的“电子邮件发件人”字段,但这只允许一系列预设商店电子邮件。

非常感谢

2 个答案:

答案 0 :(得分:7)

发送此邮件的位置在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)
                );

希望有所帮助!

谢谢, 乔

答案 1 :(得分:1)

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 ___的注释后结束,然后你可以为此而烦恼通过ssh shell查看所有mod:app/code/core$ grep -rn "CKCK" *

我也使用github进行版本控制,这也有帮助。