腾讯短信服务精简版(PHP )

短信视乎已经被慢慢淡出平常的交流工具队列,但始终抹不去它的存在,短信验证码视乎从未被取代,此外在重要的信息通知的地位也是不可取的的。所以了解短信的使用是开发中很有必要的一环。

腾讯云的短信服务提供有100条内免费,所以方便开发测试。

申请短信服务并建立模板

https://console.cloud.tencent.com/sms

查看SDK

https://cloud.tencent.com/document/product/382/13410

提供了多种语言的SDK

PHP短信模板精简

实现短信模板的单次发送

 1 /**
 2 * @param string $nationCode  国家码,如 86 为中国
 3 * @param string $phoneNumber 不带国家码的手机号
 4 * @param int    $templId     模板 id
 5 * @param array  $params      模板参数列表,如模板 {1}...{2}...{3},那么需要带三个参数
 6 * @param string $sign        签名,如果填空串,系统会使用默认签名
 7 * @param string $extend      扩展码,可填空串
 8 * @param string $ext         服务端原样返回的参数,可填空串
 9 * @return string 应答json字符串,详细内容参见腾讯云协议文档
10 */
11 function sendWithParam($nationCode, $phoneNumber, $templId = 0, $params, $sign = "", $extend = "", $ext = ""){
12
13         $appid = 1400xxx;  //自己的短信appid
14         $appkey = "d80axxxxx"; //自己的短信appkey
15
16         $random = rand(100000, 999999);//生成随机数
17         $curTime = time();
18         $wholeUrl = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms". "?sdkappid=" . $appid . "&random=" . $random;
19
20         // 按照协议组织 post 包体
21         $data = new \stdClass();//创建一个没有成员方法和属性的空对象
22         $tel = new \stdClass();
23         $tel->nationcode = "".$nationCode;
24         $tel->mobile = "".$phoneNumber;
25         $data->tel = $tel;
26         $data->sig=hash("sha256", "appkey=".$appkey."&random=".$random."&time=".$curTime."&mobile=".$phoneNumber);// 生成签名
27         $data->tpl_id = $templId;
28         $data->params = $params;
29         $data->sign = $sign;
30         $data->time = $curTime;
31         $data->extend = $extend;
32         $data->ext = $ext;
33
34         return sendCurlPost($wholeUrl, $data);
35 }
36 /**
37 * 发送请求
38 *
39 * @param string $url      请求地址
40 * @param array  $dataObj  请求内容
41 * @return string 应答json字符串
42 */
43 function sendCurlPost($url, $dataObj){
44         $curl = curl_init();
45         curl_setopt($curl, CURLOPT_URL, $url);
46         curl_setopt($curl, CURLOPT_HEADER, 0);
47         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
48         curl_setopt($curl, CURLOPT_POST, 1);
49         curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
50         curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($dataObj));
51         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
52         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
53         $ret = curl_exec($curl);
54         if (false == $ret) {
55             // curl_exec failed
56             $result = "{ \"result\":" . -2 . ",\"errmsg\":\"" . curl_error($curl) . "\"}";
57         } else {
58             $rsp = curl_getinfo($curl, CURLINFO_HTTP_CODE);
59             if (200 != $rsp) {
60                 $result = "{ \"result\":" . -1 . ",\"errmsg\":\"". $rsp
61                         . " " . curl_error($curl) ."\"}";
62             } else {
63                 $result = $ret;
64             }
65         }
66         curl_close($curl);
67
68         return $result;
69 }

测试代码:

 1 function xx(){
 2 $templId = 286xxx; //自己短信模板id
 3 $phoneNumber1="159xxxxx";//接受短信手机号码
 4 try {
 5 //模板占位数据
 6 $params = array("数据1","数据2");
 7 $result = sendWithParam("86", $phoneNumber1, $templId,$params, "", "", "");
 8 echo $result;//输出成功的json结果
 9 } catch(\Exception $e) {
10      echo var_dump($e);//输出异常信息
11     }
12 }

原文地址:https://www.cnblogs.com/dongxiaodong/p/10459297.html

时间: 2024-08-29 14:19:14

腾讯短信服务精简版(PHP )的相关文章

阿里云短信服务Java版

短信服务管理平台 https://dysms.console.aliyun.com/dysms.htm java短信发送API    https://help.aliyun.com/document_detail/55284.html?spm=5176.10629532.106.1.614b1cbe9VbjhP 过程注册信息API都有 1.发送短信实现类 package com.xmg.p2p.base.service.impl; import org.springframework.beans

调用阿里云短信服务

package com.example.demo.untils; /** * Created by JQY on 2019/5/15 */ import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; import com.aliyuncs.dysmsapi.model.v20170525.Send

路飞项目搭建3 TODO注释, 自定义模态框, vue-cookies操作浏览器cookies, 腾讯云短信开发, 代码(登录注册页面,多方式登录,手机是否存在验证接口,腾讯短信开发)

TODO注释 """ 作用:todo是一种特殊的注释,书写就是 # TODO 注释内容,可以在TODO控制台面板快速定位注释位置 """ 自定义模态框 componses/Login.vue <template> <div class="login"> <span @click="close_login">x</span> </div> </

c#简单易用的短信发送服务 悠逸企业短信服务

 悠逸企业短信发送服务,是一种比较简单易操作的短信发送服务,使用POST的方式,请求相应地址就可以实现短信发送功能 1 /// <summary> 2 /// 短信发送服务 3 /// </summary> 4 public class ShortMsgHelper 5 { 6 /// <summary> 7 /// 短信服务 账号 8 /// </summary> 9 private static string uid = ConfigurationMan

嵌入式设备中使用短信服务

全球移动通信系统GSM是我国范围最广.通信能力最强的移动通信服务,其中的短消息功能以其方便.可靠和价廉得到了广泛应用.如果要在嵌入式设备中使用短信功能,要利用GSM模块实现短信的收发. 短信收发原理 短信服务业务SMS(Short Message Service)是GSM系统提供给用户的一种数字业务,它与语音传输及传真一样,同为GSM通讯网络提供的主要电信业务.系统结构图如下: 短消息模块的接入方式支持两种模式:基于AT指令的TEXT模式和基于AT指令的PDU模式.文本模式只支持7-bit编码,

zabbix利用阿里云短信服务添加短信报警

注册阿里云,在短信服务里申请短信签名 签名名称会在脚本中用到. 申请短信模板 模板CODE会在脚本中用到,模板内容要添加参数,即zabbix传来的报警内容. 创建AccessKey 使用阿里云api需要访问秘钥,在访问控制页面-->用户管理-->新建用户 第一次生成AccessKey时会给你密码,AccessKey ID和密码脚本里会用到. 编写报警脚本 # vim /usr/lib/zabbix/alertscripts/sendSMS.py #!/usr/bin/env python2 #

PHP接入阿里云市场 阿里短信服务DEMO

阿里短信服务:支持三大运营商短信.智能管道等优质能力,产品特点:3秒可达.99%到达率.超低资费. 使用阿里短信服务步骤: 1.购买服务 到https://market.aliyun.com/products/57002003/cmapi011900.html#item-1购买短信服务 2.设置签名档 3.创建短信模板 4.根据demo接入阿里短信服务 请求参数: 名称 类型 是否必须 描述 ParamString STRING 可选 模板变量,其中数字必须转换为字符串,个人用户每个变量长度必须

短信服务 Go语言开发

短信服务 Go语言开发  采用的是阿里云-云通信-短信服务,原来的阿里大于品牌已经升级为"阿里云 · 云通信". 用途 用户注册.找回密码.用户身份验证.验证码登录等等 使用说明 将其中的accessKeyId.accessKeySecret.phoneNumbers.signName.templateCode.templateParam替换成你的就可以直接使用了 package main import ( "fmt" "github.com/KenmyZ

搭建亿万级别短信服务发送平台

原文链接 摘要: 阿里云的小伙伴们,走过路过,千万不要错过.之所以起这么唬人的标题,其实就是想让路过的您点一下,顺便关注一下博主.当然你也可以默默地顶完文章然后转身就走人,但是动作一定要快,姿势必须要帅,深藏功名尘与土. 写在开始 阿里云的小伙伴们,走过路过,千万不要错过.之所以起这么唬人的标题,其实就是想让路过的您点一下,顺便关注一下博主.当然你也可以默默地顶完文章然后转身就走人,但是动作一定要快,姿势必须要帅,深藏功名尘与土. 阿里大鱼 阿里大鱼去哪了,这么牛掰的名字,居然被阿里云抛弃了?