laravel框架发送短息消息(微网通短信和创蓝短息)
1.发送短信封装类
<?phpnamespace App\Tools;use Redis;
use App\Tools\ChuanglanSmsApi;
use App\Tools\WeilinkSmsApi\SmsCommitSender;
use Log;class SmsSender {protected $mobile;protected $type;protected $smsToken;protected $expire = 300;protected $channel;protected $param;/*** [__construct description]* @param $mobile 手机号码* @param $type 发送验证码类型1注册2修改手机号码3修改密码4登录* @param $smsToken 唯一标示* @param $channel 渠道1创蓝2微网通* @param $param*/public function __construct($data=null) {$this->mobile = $data['mobile'];$this->type = $data['type'];$this->smsToken = $data['smsToken'];$this->channel = $data['channel'];$this->param = $data['param'];$this->handle();}/*** Execute the job.** @return void*/public function handle() {$sms = new ChuanglanSmsApi();$code = $this->generateCode();$token = $this->smsToken;$redis = new Redis();$redis->connect('127.0.0.1', 6379);switch ($this->type) {case 1://注册$redis->set('register' . $token, $code);$redis->expire('register' . $token, $this->expire);break;case 2://修改手机号码$redis->set('updatePhone' . $token, $code);$redis->expire('updatePhone' . $token, $this->expire);break;case 3://修改密码$redis->set('updatePass' . $token, $code);$redis->expire('updatePass' . $token, $this->expire);break;case 4://登录$redis->set('login' . $token, $code);$redis->expire('login' . $token, $this->expire);break;default:$redis->set('sms' . $token, $code);$redis->expire('sms' . $token, $this->expire);break;}if($this->type > 4){$template = $this->templateBorrow($this->param);}else{$template = $this->template($this->type, $code);}switch ($this->channel) {case 1://创蓝短信发送调用try{$clapi = new ChuanglanSmsApi();$result = $clapi->sendSMS($this->mobile, $template);$rsp = json_decode($result, true);if(array_key_exists('code', $rsp) && $rsp["code"] == '0' ){return true;}}catch(\Exception $e){Log::error('创蓝短信发送失败'.$e);return false;}break;case 2://微网通短信发送try {$send = new SmsCommitSender('dljjjh00', 'jjjh02071');$result = $send->send(30304, '1012808', [$this->mobile], '【久久聚合】'.$template, '', '');$rsp = json_decode($result, true);if(array_key_exists("Result", $rsp) && $rsp["Result"] == "succ" ){return true;}} catch (\Exception $e) {Log::error('微网通短信发送失败'.$e);return false;}break;default:break;}}public function generateCode($length = 4, $characters = null){$characters = $characters ?: '0123456789';$charLength = strlen($characters);$randomString = '';for ($i = 0; $i < $length; ++$i) {$randomString .= $characters[mt_rand(0, $charLength - 1)];}return $randomString;}/**1注册2修改手机号码3修改密码4本人登陆*/public function template($type, $code=null){$Template = [1 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人注册使用,打死也不要告诉别人哦!',2 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人修改绑定手机号,打死也不要告诉别人哦!',3 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您修改密码使用,打死也不要告诉别人哦!',4 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人登录使用,打死也不要告诉别人哦!',];return $Template[$type];}/*** 发送模版消息* 5月付审核通过 */public function templateBorrow($param){$arr = ['type'=>$param['type'],'partnername'=>$param['partnername'],'reason'=>$param['reason'],'periods'=>$param['periods'],'money'=>$param['money'],'time'=>$param['time'],'banknum'=>$param['banknum'],'uname'=>$param['uname'],'directorName'=>$param['directorName'],];$Template = [5 => "您在{$arr['partnername']}订单审核已通过。友情提示:1.请注意查收短信并保证交费日当天银行卡内余额充足,届时系统将自动从账户中扣除。如有疑问,请拨打客服热线咨询,感谢您对久久聚合的支持",];return $Template[$param['type']];}}
2、调用短信发送
// 1.短信通知
$template['type'] = $templatetype;
$params['mobile'] = $UserLogin['mobile'];
$params['type'] = $templatetype;
$params['smsToken'] = $UserLogin['mobile'];
$params['param'] = $template;
$smscontroller = new SmsController();
$res = $smscontroller->sendTemplate($params);
laravel框架发送短息消息(微网通短信和创蓝短息)相关推荐
- PHP Laravel框架 微信模板消息发送
laravel框架 微信模板消息发送 /*** 发送模板消息*/public function add(Request $request,$id){$house_data = House::find( ...
- 阿里大于发送短信(用户微服务--消息微服务)
阿里大于官网 官网流程文档: https://help.aliyun.com/document_detail/55284.html?spm=a2c4g.11186623.6.567.77f914d1Q ...
- GMP聚合消息服务平台新版上线——主打融合短信、微信、邮件、App push的一站式消息发送与管控
随着我国经济高质量的发展和人口红利效应放缓,"降本增效"成为企业可持续发展与增加竞争力的关键.但在企业运营管理中,各领域的消耗内卷屡见不鲜,企业通信也不例外. 互联网进入全新发展时 ...
- 极光 php 自定义消息,laravel框架使用极光推送消息操作示例
本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...
- php极光推送教程,laravel框架使用极光推送消息操作示例
本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...
- 公纵号发送提示信息(用户微服务--消息微服务)
公纵号发送提示信息(用户微服务–消息微服务) 微信消息的集成(微信公众号) 场景:主要用于商城购买提示,金额提醒,活动广告等 申请微信测试号(和微信小程序有区别) https://mp.weixin. ...
- springboot实现短信发送验证码及消息队列发送注册成功短信
需要源码小伙伴可以到微信小程序:"MINIIT资源库"获取,作者承诺免费 PS:在编写功能之前,需要得到阿里云短信服务API: 使用消息队列(mq)可以将主业务和副业务分离,主业务 ...
- laravel框架中微信公众号推送消息
首先呢,大家都知道微信公众号是我们现在微信的一个重要功能,那么下面到带大家分享一下微信公众号的基本消息推送,如图首先访问 https://mp.weixin.qq.com/debug/cgi-bin/ ...
- php laravel 框架 APP_KEY 的作用
目录 Laravel 安全修复 什么是 APP_KEY? 关于密码哈希的常见误解 加密与散列 对称加密 单向哈希 更改密钥 多台服务器 现有用户的 sessions (cookies) 您已加密的其他 ...
最新文章
- 解决windows显示开启HDR后chrome内截图泛白问题
- Elasticsearch之search搜索入门
- java 安装报错2503_Windows安装Node.js报错:2503、2502的解决方法
- 【PHP】php生成一个不重复的数字(订单号、会员号)
- 华南农业大学计算机专业学硕20,2020年华南农业大学计算机应用技术考研经验分享...
- key_t IPC键和ftok函数详解和剖析
- 赫夫曼树编码的算法及应用习题--数据结构
- 可信云十年,重磅研究成果与2021云计算十大关键词悉数发布
- 动态规划 NOIP经典问题 开心的金明(洛谷P1060题题解,Java语言描述)
- JS-数据类型转换-运算符
- PL/SQL编程的简单学习
- android软件欢迎界面,Android应用中实现一个软件启动的欢迎界面
- FFMpeg写MP4文件例子分析
- Win7如何修改开机动画
- 第二章 02 天牛质感
- 穿女装上班的大厂程序员:我知道自己是个男生
- LeetCode题解目录
- 中年网易,生存像是一种幸运
- 柯西导数与鲁宾逊导数之比较
- 12pm 是中午12点 还是晚上12点 ??