短信宝官网:http://smsbao.com

使用短信宝需要先在官网上注册一个用户名密码

注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。。

测试操作如图:

进入正题:

使用短信宝,需要一个SmsBao.class.php文件,这个文件会放在Org目录下,文件内容在最下方

调用代码:

<?php
namespace Home\Controller;
use Think\Controller;
use Org\Sms\SmsBao;
class IndexController extends Controller {public function index(){$sms = new SmsBao("账号", "密码");$msg = $sms->sendSms("1537539****", "这是一个测试短信!");if($msg['status'] == 0) {echo '发送成功!';} else {echo '发送失败!';}echo $sms->getBalance(); // 返回剩余条数}
}

访问后会显示

登录短信宝,进入请求记录会看到

如果从短信宝测试入口测试,可以在手机上看到短信,然后在官网的发送记录会看到内容

回复的话,会在回复记录中看到回复的内容

附加:

SmsBao.class.php 内容

<?php
// +----------------------------------------------------------------------
// | smsbao for thinkPHP
// +----------------------------------------------------------------------
// | Copyright (c) 2005 http://smsbao.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://smsbao.com )
// +----------------------------------------------------------------------
namespace Org\Sms;
/*** SmsBao实现类* @category   Think* @package  Think* @subpackage  Sms*/
class SmsBao {private $account;//短信包账户private $password;//密码private $balance;//短信剩余条数const sendSmsUrl = "http://api.smsbao.com/sms";const queryBalanceUrl = "http://api.smsbao.com/query";/*** 架构函数* @access public* @param string $account  在短信宝注册的账户名* @param string $password  在短信宝注册的账户名的密码*/public function __construct($account,$password) {if (empty($account) || empty($password)) {E("用户名和密码不可为空!");}$this->account = $account;$this->password = $password;}/*** 发送短信函数* @access public* @param string $mobile  手机号,多个手机号用英文逗号分隔* @param string $content  发送内容* @return array 返回值为数组,其中status为0表明发送成功,其他情况下发送失败,失败原因为msg*/public function sendSms($mobile,$content){$param['u'] = $this->account;$param['p'] = md5($this->password);$param['m'] = $mobile;$param['c'] = $content;$ret = self::http(self::sendSmsUrl, $param);$data['status'] = $ret;$data['msg'] = $ret == 0 ?'发送成功' : self::getResult($ret);return $data;}/*** 获取短信剩余条数函数* @access public*/public function getBalance(){$param['u'] = $this->account;$param['p'] = md5($this->password);$ret = self::http(self::queryBalanceUrl, $param);$retArr = split("\n", $ret);$balanceArr = split(",", $retArr[1]);$this->balance = $retArr[0] == 0 ? $balanceArr[1] : self::getResult($ret);return $this->balance;}/*** 发送http请求* @access protected* @param string $url  请求地址* @param string $param  get方式请求内容,数组形式,post方式时无效* * @param string $data  post请求方式时的内容,get方式时无效* @param string $method  请求方式,默认get*/protected static function http($url, $param, $data = '', $method = 'GET'){$opts = array(CURLOPT_TIMEOUT        => 30,CURLOPT_RETURNTRANSFER => 1,CURLOPT_SSL_VERIFYPEER => false,CURLOPT_SSL_VERIFYHOST => false,);/* 根据请求类型设置特定参数 */$opts[CURLOPT_URL] = $url . '?' . http_build_query($param);if(strtoupper($method) == 'POST'){$opts[CURLOPT_POST] = 1;$opts[CURLOPT_POSTFIELDS] = $data;if(is_string($data)){ //发送JSON数据$opts[CURLOPT_HTTPHEADER] = array('Content-Type: application/json; charset=utf-8','Content-Length: ' . strlen($data),);}}/* 初始化并执行curl请求 */$ch = curl_init();curl_setopt_array($ch, $opts);$data  = curl_exec($ch);$error = curl_error($ch);curl_close($ch);//发生错误,抛出异常if($error) throw new \Exception('请求发生错误:' . $error);return  $data;}private function getResult($key){$rst['30'] = '密码错误';$rst['40'] = '账号不存在';$rst['41'] = '余额不足';$rst['42'] = '帐号过期';$rst['43'] = 'IP地址限制';$rst['50'] = '内容含有敏感词';$rst['51'] = '手机号码不正确';return $rst[$key];}}

欢迎关注技术开发分享录:http://fenxianglu.cn/

php使用 短信宝 发送短信(thinkphp)相关推荐

  1. php对接短信宝,php使用短信宝发送短信的方法

    本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家. 注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字.. ...

  2. TP5 短信宝 发送短信验证码

    一.请求发送短信接口 public function sendCode(){//接收手机号$data['phone'] = input('get.phone');//判断是否接到手机号$validat ...

  3. 短信宝 php使用,[php] 使用 短信宝 发送短信(thinkphp)

    /*** SmsBao实现类* @category Think* @package Think* @subpackage Sms*/classSmsBao { private$account;//短信 ...

  4. php对接短信宝,thinkphp短信宝发送短信

    1.先去短信宝注册,购买5元起的短信http://www.smsbao.com/ 2.控制器代码实例 ~~~ //生日祝福 public function shengrizhufu(){ $xingm ...

  5. PHP实现短信宝发送短信验证码功能

    短信验证码是随机生成的几位数字,将此数字保存到数据库中,发送短信时将该数字 取出来放到下面代码填写短信内容处,即可发送. 注意要发送的手机号,短信宝账号.密码,短信发送内容等都要提前存放到数据库中,下 ...

  6. 短信宝发送短信验证码

    $statusStr = array("0" => "短信发送成功","-1" => "参数不全",&quo ...

  7. 短信宝+发送短信验证码

    php //手机号发送验证码public function phoneLogin(Request $request){//接值$data= $request->post();$statusStr ...

  8. linux 短信功能,Android调用系统短信功能发送短信

    Android调用系统短信功能发送短信有两种方法: 第一种,设定发送的号码,和内容,界面没有联系人,群组组等按钮,如下图所示: 代码如下: Uri smsToUri = Uri.parse(" ...

  9. 安卓短信功能全解:调用系统短信功能发送短信、彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓短信功能全解:调用系统短信功能发送短信.彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信. 首先需要 ...

最新文章

  1. 注释(Annotation)
  2. Win10:tensorflow学习笔记(4)
  3. 中班游戏电子计算机,幼儿园中班数学游戏:小小快递员
  4. [BZOJ2599][IOI2011]Race 点分治
  5. 实例65:python
  6. Python实现一个数组除以一个数
  7. 转:SQL:外连接on条件与where条件的区别
  8. 《精通Unix下C语言编程与项目实践》读书笔记(2)
  9. c语言二级考试笔试真题,全国计算机等级考试二级C语言笔试真题及答案.doc
  10. Maven下载安装及修改setting内容
  11. 简单的动画(梦幻西游)
  12. 众多Android 开源项目推荐
  13. 为何“爱辞职”成为了90后的又一标签?
  14. 进击的巨人(2017秋招总结)
  15. 【Nginx+Tomcat的7层代理和四层代理】
  16. 公交车人数统计系统设计
  17. 2020年AI竞赛获奖方案复盘系列(一) 目标检测竞赛trick-华录杯违法广告检测比赛
  18. 多元回归和Logistic回归
  19. Vue子组件中渲染动态组件无效(第一次无效、第二次有效)
  20. 自研扫地机器人激光雷达,Camsense有何胜算?

热门文章

  1. 【免费咨询】 Cloudera Hadoop大数据培训:管理员、开发者、数据分析
  2. 学完计算机专业英语感受,学习计算机专业英语的心得体会
  3. 深度学习调参技巧(一)
  4. 网站关键词html代码,html网站代码+网站关键词如何优化呢
  5. 虚拟机可以当成服务器吗,虚拟机不仅仅可以用于部署服务器功能
  6. android鼠标位移算法分析。
  7. 2019自结前端面试小册
  8. 经济法基础——第一章第一节、法律基础
  9. 用Python通过163邮箱发送邮件
  10. AndroidStudio系统广播Broadcast电话监听