php可以发短信的代码,php实现短信发送代码
卓望的短信发送。PHP格式。都要不习惯用xml传输数据格式了
标签:
1. [代码][PHP]代码
class Sms
{
private $userId = 'XXXXX';
private $password = 'XXXXXX';
private $templateId = 'XXXXXX';
/**
* @var string 短信服务器地址
*/
private $server_uri = 'XXXXXX';
private $port = 'XXXXXX';
/**
* 发送短信
* @param $message 信息内容
* @param $mobile 手机号码
* @param string $signature 签名
* @return bool 成功返回true, 网络请求失败返回false, 其他返回失败编码
*/
public function sendOneMsg($message, $mobile, $signature='demo')
{
$xml_content = $this->createXmlContent($message, $mobile, $signature);
$xml = $this->sendHttpRequest(trim($xml_content));
if(! $xml) {
return false; // 网络请求失败
}
// 解析返回的编码
$res = simplexml_load_string($xml);
if($res->retCode == 1000) {
return true;
}
return $res->retCode;
}
/**
* 创建 xml内容
* @param $message 信息
* @param $mobile 要发送的手机号码
* @param $signature 签名
* @return string
*/
private function createXmlContent($message, $mobile, $signature)
{
$data = array(
'userId' => $this->userId, // 账号
'password' => $this->password, // 小写的md5后的用户密码
'templateId' => $this->templateId, // 模板id
'phone' => $mobile,
'port' => $this->port,
'data' => $message,
'signature' => $signature,
);
// 设置xml版本和编码
$dom = new \DOMDocument('1.0', 'UTF-8');
// 创建根节点
$request = $dom->createElement('request');
$dom->appendChild($request);
foreach($data as $key => $val) {
// 创建元素
$key = $dom->createElement($key);
$request->appendChild($key);
// 创建元素值
$text = $dom->createTextNode($val);
$key->appendChild($text);
}
return $dom->saveXML();
}
/**
* 发送http请求
* @param $xml_content
* @return mixed
*/
private function sendHttpRequest($xml_content)
{
$now = time();
$headers[] = 'Content-Type:text/xml';
$headers[] = 'Content-Length:' . strlen($xml_content);
$headers[] = 'Cmd:mt';
$headers[] = 'TS:'. $now;
$headers[] = 'Authorization:' . strtoupper(md5($xml_content. $now . $this->password));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->server_uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_content);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res = curl_exec($ch);
curl_close($ch);
//header('Content-Type:text/html; charset=utf-8');
return $res;
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
php可以发短信的代码,php实现短信发送代码相关推荐
- 最好用的发短信(验证码、语音短信)接口
使用阿里大鱼短信接口 注册 进入大鱼页面,如果没有账号,则自行注册,再此不在过多详述. 注册完成或者有账号的则在首页中点击加入"加入阿里大鱼",如下: 创建引用 点击"管 ...
- 增值电信业务中1069短信代码和1066短信代码有什么区别吗?
1066短信代码: 1066短信代码:
- 验证码短信 API 接入指南:Java 语言示例代码
短信验证码是一种通过短信发送的验证码,通常用于验证用户的身份.保障账户安全和防止恶意攻击等.短信验证码已经成为现代社会中不可或缺的一部分,广泛应用于各种场景,包括用户注册和登录.找回密码等等. 为了满 ...
- Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...
Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...
- qpython3h手机版怎么发短信_python如何使用腾讯云发送短信
腾讯云方面的申请和流程都比较简单,基本都是可视化操作的,这里就不在赘述了.这篇文章着重讲解怎么用python实现调用. 我假设你已经满足了以下几个前提 + 已经开通了腾讯云短信业务 + 创建好了短信签 ...
- 阿里云短信服务详细说明与实战开发后端代码
文章目录 1.短信服务背景 2.短信发送流程 3.阿里云短信服务基本说明 3.1 开通阿里云短信服务与购买短信套餐包 3.2 短信服务帮助文档 3.3 手机短信模板介绍 3.3.1 基本说明 3.3. ...
- PHP代码中的情话,[php发送短信验证码代码]php发送短信验证码
业务: 手机端点击发送验证码,请求发送到php端,由php调用第三方平台(我们使用的是榛子云短信http://smsow.zhenzikj.com)的短信接口,生成验证码并发送. 在"我的应 ...
- 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。
相关API文档地址: 阿里云短信服务API文档地址 小程序云开发云函数正则匹配API文档地址 小程序云开发云函数定时触发器 1.登录阿里云,购买短信服务并添加签名和模板 2., 登录阿里云,鼠标放在右 ...
- 短信接口被恶意调用?企业短信防火墙+【中昱维信】短信验证码【Java】
短信接口被恶意调用?企业短信防火墙+[中昱维信]短信验证码[Java] 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业 ...
- 短信防火墙使用教程(短信防轰炸、防盗刷)
短信服务接口安全是在开发或对接短信接口时尤为关注的问题.部分黑客可能出于恶意竞争或短信轰炸他人的目的,攻击短信服务接口,盗刷验证短信,造成资金损失.那么应该如何避免短信接口被恶意调用?本文为大家介绍短 ...
最新文章
- Tensor for ‘out‘ is on CPU, Tensor for argument #1 ‘self‘ is on CPU
- “笨方法”学习Python笔记(1)-Windows下的准备
- 配置一个Servlet可以被一个(指定的开头链接,后自定义)访问
- C++debug调试出现heap corruption detected: after normal block 可能的原因
- nssl1257-A【数论】
- 操作系统页面置换算法(opt,lru,fifo,clock)实现
- openstack 云_探索OpenStack云案例研究
- c语言实验题水仙花数5359,《C语言程序设计》实验报告(实验1-12).doc
- 在网页中嵌入任意字体的解决方案---google在线字体库应用
- Linux系统的Redis的安装与运行
- matlab矩阵(一)--如何控制矩阵中小数点的位数
- Subversion for Windows 相关工具
- Android面试心得,已拿到字节跳动,京东,android应用开发基础学堂在线答案
- Win连接android打印机,教你用Android/Iphone/MacWindows和群晖实现无线打印
- Leetcode592. 分数加减
- 微信文件指定应用打开并获取文件路径,以及遇到的一个坑
- sourceTree 问题解决
- RFC请求注解(Request for Comments)介绍|internet最重要的文献资源
- outlook2013邮箱找不到服务器,outlook发邮件总提示找不到服务器,不知哪里设置不对,请哪位大侠指点一下...
- Android 接口的default 方法运行时报错AbstractMethodError