服务热线 400-660-8066

南京网站建设
首页 站内资讯

南京网站建设

站内资讯
南京网站建设 / 站内资讯 / 行业资讯 / 正文

php短信接口对接

来源: All文章
发布时间:2023-03-30 09:28:17

  1.国外短信这里介绍:短信宝

  用的是thinkphp框架

  在TP模块下的目录新建Service文件夹,在里面新建service服务类用于短信宝发送短信。

  更多详情可参考官网:

  namespaceHome\Service;

  classSmaoService{

  function__construct(){

  $config=array(

  'user'=D('Config')-get('msg_user'),

  'pass'=D('Config')-get('msg_pass'),

  'smsapi'='接口地址',

  );

  $statusCode=array(

  0=短信发送成功,

  -1=参数不全,

  -2=服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!,

  30=密码错误,

  40=账号不存在,

  41=余额不足,

  42=帐户已过期,

  43=IP地址限制,

  50=内容含有敏感词

  );

  $this-config=$config;

  $this-statusCode=$statusCode;

  }

  /**

  *发送验证码

  *@param$phone

  *@param$code验证码

  *@returnmixed

  */

  publicfunctionsendMsg($phone,$code){

  $config=$this-config;

  $statusCode=$this-statusCode;

  $autograph=D('Config')-get('msg_autograph');

  $content=D('Config')-get('msg_content');

  $content='【'.$autograph.'】'.str_replace('{code}',$code,$content);

  $sendurl=$config['smsapi'].sms?u=.$config['user'].p=.md5($config['pass']).m=.$phone.c=.urlencode($content);

  $status=file_get_contents($sendurl);

  $reData['status']=$status;

  $reData['info']=$statusCode[$status];

  return$reData;

  }

  }

  数据库中要建配置参数:

  msg_user(短信宝用户名)

  msg_pass(短信宝密码)

  msg_autograph(短信宝签名)

  msg_content(短信内容,必须包含验证码替换符{code})

  2.国外的介绍QcloudS腾讯短信

  可以发送国内短信的接口有很多,之前也有整理比较好用的。当有用户需要发送国际短信时,比较常用就是阿里和腾讯的了。下面是腾讯短信简单发送对接TP的Service

  下面以国际短信为例

  1、在腾讯短信控制台申请海外文本短信,只需要申请短信模板即可,海外短信不需要申请签名,国内短信必须申请签名。

  2、下载官方的phpSDK,在TP使用时需要小改一下命名空间,文章下有提供可下载。放到TP的Vendor/Qcloudsms文件夹中。

  3、在要使用的模块下新建QcloudsmsService.class.php,代码如下:

  <!--?phpnamespaceHome\Service;

  classQcloudsmsService{

  function__construct(){

  $config=array(

  'appid'='14054******',//控制台查看

  'appkey'='6fe55********************',//控制台查看

  'templId'='295555**',

  'nationCode'='852555',//国家或地区区号,香港852,大陆86

  );

  $this-config=$config;

  }

  /**

  *发送验证码

  *@param$phone

  *@param$code验证码

  *@returnmixed

  */

  publicfunctionsendMsg($phone,$code){

  vendor('Qcloudsms.SmsSender');

  $config=$this-config;

  $singleSender=new\SmsSingleSender($config['appid'],$config['appkey']);

  //普通单发

  $result=$singleSender-send(0,$config['nationCode'],$phone,您好,您的验证码为.$code,,);

  //返回的成功示例:{result:0,errmsg:OK,ext:,sid:2:670479-0268698729-028972-001510040916,fee:1}

  //result为0表示发送成功

  $rsp=json_decode($result,true);

  return$rsp;

  }

  }

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr