php对接短信宝,php使用短信宝发送短信的方法
本文主要和大家分享php使用短信宝发送短信的方法,使用短信宝需要先在官网上注册一个用户名密码,希望能帮助到大家。
注意:如果没有购买短信,则只用来测试短信速度,短信内容不可编辑,只可修改验证码数字。。
测试操作如图:
进入正题:
使用短信宝,需要一个SmsBao.class.php文件,这个文件会放在Org目录下,文件内容在最下方
调用代码:<?phpnamespace 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];
}
}
php对接短信宝,php使用短信宝发送短信的方法相关推荐
- 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。
相关API文档地址: 阿里云短信服务API文档地址 小程序云开发云函数正则匹配API文档地址 小程序云开发云函数定时触发器 1.登录阿里云,购买短信服务并添加签名和模板 2., 登录阿里云,鼠标放在右 ...
- Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...
Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...
- qpython3h手机版怎么发短信_python如何使用腾讯云发送短信
腾讯云方面的申请和流程都比较简单,基本都是可视化操作的,这里就不在赘述了.这篇文章着重讲解怎么用python实现调用. 我假设你已经满足了以下几个前提 + 已经开通了腾讯云短信业务 + 创建好了短信签 ...
- 【阿里云短信服务SMS】使用阿里云发送短信
使用阿里云发送短信 前期准备工作 1.添加签名 2.添加短信模板 3.创建子用户,得到密钥:AccessKeyId和 AccessKeySecret 4.给子用户添加权限 5.收集好之前步骤中的4个关 ...
- python发短信验证码_python利用第三方模块,发送短信验证码
对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 首先,申请账号的部分就省略了 1. 获得appid ...
- 小米手机 java 代码无法连接短信_小米手机无法接受和发送短信,为什么?
展开全部 可能是以下32313133353236313431303231363533e4b893e5b19e31333363396462的几个原因: 1.手机短信存储已满 在不断地接收短信的过程中, ...
- linux 4g模块发送短信,OpenWRT使用4G模块上网和发送短信
1.配置ppp 配置参考:https://blog.csdn.net/qianguozheng/article/details/50543704 结果就是:lsusb能发现HUAWEI的4G模块,if ...
- android 发短信意图,android代码实现打电话和发送短信功能
android代码实现打电话和发送短信功能 发布时间:2020-05-27 11:57:17 来源:亿速云 阅读:172 作者:鸽子 1.XML布局 xmlns:app="http://sc ...
- PHP云软件短信接口,php调用云片网接口发送短信的实现方法
php调用云片网接口发送短信的实现方法 云片网发送短信 /** * [SendSms description] * @param [string] $tpl_content [发送的短信内容] * @ ...
- php 发短信的类,[php封装类]PHP封装发送短信类!
/** * 手机短信发送 * 需要开启 Crul * 分钟配额为:1000 次/分钟 . 超过分钟配额服务禁用. * 向同一手机号发送短信, 最小时间间隔为15 秒. * 一次最多都只能发65个汉字( ...
最新文章
- 从李开复的Google看管理的文化和背景
- 浅析基于双目视觉的自动驾驶技术
- canvas中的碰撞检测笔记
- Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
- jquery clone 与 clone(true) 的区别
- 什么是URL?协议头、路径和端口是什么意思?
- [视频教程] 如何在Linux深度系统deepin下安装docker
- Angular 依赖注入的一个常见错误 NullInjectorError, No provider for XXX
- 【JS 逆向百例】cnki 学术翻译 AES 加密分析
- 公司java框架让程序员变笨_框架会使程序员变笨吗?
- Linux常用正则表达式
- 2013dgtcs 数对
- 华为融合位置服务器,融合服务器
- 北斗心脏——高精度时间频率系统
- 网络安全知识竞赛选择题(91-120题)
- TF标准模型TensorFlow Mobile for Android
- 孙氏太极拳--无极桩
- JS纯前端实现卡通人物图片的动态效果
- Windows装逼操作
- 使用夜神模拟器进行Android开发调试
热门文章
- CMAP HOW TO USE
- 开发一个APP大概需要多少钱
- 苹果和android 王者荣耀,王者荣耀:安卓区与苹果区谁强,官方数据说明一切,结局让人意外...
- 阿里python认证_集成阿里云滑动验证(python)
- 基于Android开发的在线考试系统(附带源码)
- 低功耗蓝牙BLE-Advertising State/Scanning State
- 距离空间,线性空间,赋范线性空间,Banach空间,内积空间,Hilbert空间的内在关系
- DOSBox使用debug
- 从底层结构开始学习FPGA(4)----MUX多路选择器(Multiplexer)
- vl53l1x激光测距讲解