阿里大于(鱼) 短信发送函数
项目在用 短信发送服务商一直不稳定, 到达失效没有办法保证,无意间看到了 阿里大鱼 ,大公司做的用起来放心。
自己就试着用用,感觉速度还不错,当然官方 也有 PHP 的 SDK 但是用不到那么多功能只是发送个短信验证码,所以就自己照着文档写了一个简单的。
没有类 只有一个函数
<?php
/**
* 短信发送 API
*
* @param string $to 短信接收者 多个用 英文逗号隔开
* @param array $template 模板相关信息 (数组)
code: 模板 id
sign_name: 签名
param: 模板内参数 数组
* @param string $extend 这是一个混合类型
* @since 1.0
* @return array
*/
function sendSms($to, $template, $extend = ''){
$app_key = '2332****'; // APP Key
$app_secret = '*****'; // APP Secret
$url = 'http://gw.api.taobao.com/router/rest'; // API 地址
/* POST 参数 */
$post = array(
'app_key' => $app_key,
'format' => 'json',
'method' => 'alibaba.aliqin.fc.sms.num.send',
'partner_id' => 'apidoc',
'sign_method' => 'md5',
'timestamp' => date('Y-m-d H:i:s'),
'v' => '2.0',
'extend' => $extend,
'rec_num' => $to,
'sms_free_sign_name' => $template['sign_name'],
'sms_param' => json_encode($template['param']),
'sms_template_code' => $template['code'],
'sms_type' => 'normal'
);
ksort($post); // 按键名 排序 (大多签名生成的必须步骤)
/* 按照签名算法 生成签名 */
$res = '';
foreach($post as $k => $v){ $res .= $k . $v; }
$res = str_replace(
array('/\+/', '/\*/', '/%7E/'),
array('%20', '%2A', '~'),
$res
);
$post['sign'] = strtoupper(md5($app_secret . $res . $app_secret));
/* CURL 发送数据 */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($ch);
curl_close($ch);
$json = json_decode($result, true);
return $json['alibaba_aliqin_fc_sms_num_send_response']['result'];
}
使用方法:
<?php
/* 模板信息 */
$template = array(
'code' => 'SMS_6155318', // 模板 id
'sign_name' => '注册验证', // 信息签名
'param' => array('code' => '345435', 'product' => ' 简爱测试 '), // 模板内参数
);
/* 接收号码 */
$to = '136****8858';
$result = sendSms($to, $template);
print_r($result);
最后 地址 http://www.alidayu.com/
来源:https://www.gouji.org/?post=414
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询