OpenCart - 中文论坛

标题: Opencart Contact us 里面发的邮件怎么不显示对方填的E-Mail Address [打印本页]

作者: pengnanding    时间: 2014-12-19 10:33
标题: Opencart Contact us 里面发的邮件怎么不显示对方填的E-Mail Address
Opencart Contact us 里面发的邮件怎么不显示对方填的E-Mail Address,只能看到自己设置的邮件地址,求解
作者: sunboy    时间: 2014-12-19 22:07
后台网站设置中的邮件地址填写了没有?请说明使用的版本号,系统环境。

作者: pengnanding    时间: 2014-12-20 16:42
sunboy 发表于 2014-12-19 22:07
后台网站设置中的邮件地址填写了没有?请说明使用的版本号,系统环境。
...

都是填了的,已经解决。
这个opencart的重大Bug。
参照论坛里面的解决方案,修改了PHP语句。
作者: pengnanding    时间: 2014-12-20 16:44
sunboy 发表于 2014-12-19 22:07
后台网站设置中的邮件地址填写了没有?请说明使用的版本号,系统环境。
...

最近研究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的邮箱。
作者: pengnanding    时间: 2014-12-20 16:44
本人的解决方案是:

修改文件: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:';
作者: pengnanding    时间: 2014-12-20 16:45
sunboy 发表于 2014-12-19 22:07
后台网站设置中的邮件地址填写了没有?请说明使用的版本号,系统环境。
...

参照了版主mengweb的解决办法
作者: eagle0413    时间: 2014-12-27 02:26
pengnanding 发表于 2014-12-20 16:45
参照了版主mengweb的解决办法

亲 为啥我按照你修改的办法,验证码不显示了呢??验证图片打不开




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