昨天测试手机版的注册邮箱找回密码的时候,发现手机版邮件发送后,久久邮箱没有收到邮件,于是又用PC版再次做同样的事情,这次一切正常,重置密码的邮件发过来了。既然同一个收件人,同一个邮件服务器,那么顺下的只有代码问题了。
打开PC版和手机版的user.php,lib_passport.php文件比较相关处,结果发现竟然相同,而且最关键的是函数是发送成功的,并没有返回错误。
/* 发送确认重置密码的确认邮件 */ if (send_mail($user_name, $email, $template['template_subject'], $content, $template['is_html'])) { return true; } else { return false; }
两个版本这里的代码均一致,并且手机版这里的send_mail是return true的,真他妈的见鬼了啊,成功发送而又没有邮件,尼妹的一般这种情况只能是邮件服务器的问题,而这里两版用的是同一个服务器,不会存在设置错误的问题。
忽然,隔壁的不是搞技术的同事提了句,(tiandi之前有跟他提过,ecshop的手机版很扯,和PC版是完全独立开来的一套程序,而且这一套程序又和PC版的类似,并且有的配置文件还需要另外读取。)会不会是由于手机版读取的配置文档不一样,所以导致的问题。
我X,果然,手机版读取的服务器配置在ecs_etouch_shop_config中,那里都是一片空白,我去,把ecs_shop_config里邮件的相关配置复制过来,再次测试,这次能收到邮件了。再次吐槽一下,要知道邮件服务器的后台配置入口只有在PC版的才有,手机版的后台根本没有直接配置的入口,手机版的只能直接修改数据库。
ECSHOP和ECTOUCH调用的是一个数据库的东西,而且业务逻辑也差不多,搞尼妹的分开啊。
一般的大企业应该有专业的团队来解决这个问题
各种看不懂啊。
博客很好看~!
最近怎么各种ECShop。。。
好多ecshop的啊
我的博客地址更新了。