OpenCart - 中文论坛

标题: opencart的"联系我们"功能重大bug [打印本页]

作者: mengwb    时间: 2013-11-15 10:02
标题: opencart的"联系我们"功能重大bug
本帖最后由 mengwb 于 2013-11-15 10:30 编辑

最近研究opencart发现,该系统的“联系我们”功能有一个重大bug,特发出来大家共同研究探讨。
问题现象如下:

在使用联系我们功能时,填入页面的相关信息和咨询内容,以及客户联系邮箱地址(邮箱地址是正确的qq邮箱)后,点“继续”按钮。系统报错如下:

Notice: Error: MAIL FROM not accepted from server! in /home1/vhost/vh569321/www/system/library/mail.php on line 290

使用163邮箱,依然报同样的错。

检查相关设置均未发现问题,而且后台给客户发邮件,用户注册自动给管理人员发邮件都正常。经过几次测试均如此。后来,本人突发奇想。在“联系我们”页面中直接填入后台邮箱配置中的邮箱地址。结果正常。

难道用户在“联系我们”功能中,给网站管理人员发咨询邮件,用户填写自己的联系邮件,还需要用户的邮箱支持一些高级的功能?所以本人认为此必定是opencart本身的一个bug,特发出来供各位共同研究探讨。

注:本人的oc后台邮箱设置使用的smtp,126的邮箱。
作者: mengwb    时间: 2013-11-15 12:43
本人的解决方案是:

修改文件:catalog/controller/information/contact.php

查找:
$mail->setFrom($this->request->post['email']);
替换为:
$mail->setFrom($this->config->get('config_email'));

查找:
$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));
替换为:
$mail->setText(strip_tags(html_entity_decode($this->language->get('text_from').$this->request->post['email']."\n\n".$this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

然后找到语言包文件catalog/language/*/information/contact.php
增加一行:
$_['text_from']     = 'From:';
作者: sunboy    时间: 2013-11-15 13:28
这个要顶。
作者: 胡子    时间: 2013-11-15 14:28
支持一下。
作者: paypal    时间: 2013-11-25 20:10
顶                        厉害




欢迎光临 OpenCart - 中文论坛 (https://bbs.opencart.cn/) Powered by Discuz! X3.2