ecstore-短信忽然发送不了了

周一,客服反馈商城的注册短信收不到。

检查了一下发现确定发送不了,但是代码都没改,怎么会这样子呢?第一个感觉就是会不会是通道的问题。

所以上网问同样用平台的人,答案是可以发送的。

那么问题就是我们自己的问题了。

所以,写个测试例子调试吧。

随便在控制器写个调用吧,代码如下:

$messengerModel = kernel::single('b2c_mdl_member_messenger');
$mobile = '15959******';
$tmpl = 'account-lostPw';
$data = array(
	'vcode'         => time(),
);
$sendType = 'notice';
$sender = 'b2c_messenger_sms';
$tmpl_name = 'messenger:b2c_messenger_sms/'.$tmpl;
$messengerModel->_send($sender,$tmpl_name,$mobile,$data,$tmpl,$sendType);
exit('OK...');

因为这个调用时没有反馈的,我们需要在调用的时候将通道反馈的信息打印出来,需要做些调试方式。具体就根据个人的喜欢调试吧。

最终,得到结果是短信通道的密码错误。

汗~

确定没有改呀。算了,重置吧。

然后,需要使用“清除系统中原有的与shopex用户中心关联的数据”来清除关联数据。

看这个名字有点怕怕,最后新建一个新站测试发现是没问题的,仅仅是清除关联激活的信息,其他的数据完整保留哈。

这个数据就是:全新安装ecstore后会出现要激活的账号跟密码,是免费注册的一个账号。激活了才会进入后台管理界面。

下面附上调试过程中的一些重点文件,记录一下,省的以后还要重新跟。

在app\b2c\lib\messenger\sms.php中的send($to,$title,$message,$config)方法是短信发送的封装方法,自动添加签名等信息。

在app\b2c\lib\messenger\smschg.php中的send($contents,$config,&$msg)方法是主要方法,这边就是最终的调用短信通道接口的所在,所以,需要返回接口的错误信息,需要在这边调试输出。

在app\base\lib\enterprise.php中的方法关系到账户密码的获取方法。而这些数据是保存在表sdb_base_setting中,获取的SQL语句是:

SELECT * FROM `sdb_base_setting` WHERE `key` LIKE ‘ecos.enterprise_info’

我直接将加密串更新进去,然后,测试就可以了。

END

 

发表评论