php thinkphp 阿里云(国际版)短信发送 中国大陆和国外

编程入门 行业动态 更新时间:2024-10-10 19:26:35

php thinkphp 阿里云(<a href=https://www.elefans.com/category/jswz/34/1754797.html style=国际版)短信发送 中国大陆和国外"/>

php thinkphp 阿里云(国际版)短信发送 中国大陆和国外

阿里云(国际版)官方文档:.htm?spm=a2c63.p38356.b99.20.73517f303V0IAm

注意:阿里云账号分(国内版、国际版),不同账号发送短信sdk不一样的

下载sdk速度较慢,一定要耐心等待

坑点一:国际版下载sdk是通过composer命令下载的(也有其他方式,本人未试),如果你使用的是TP框架,通过composer命令下载,可能会与你框架的【composer.json、composer.lock这个两个文件的原因导致你下载失败】

坑点一【解决方式】:单独找一个空文件夹通过composer命令下载下来,放入你框架的第三方文件下面或者vendor文件夹下面即可引入使用

composer下载sdk命令:

composer require alibabacloud/client

sdk下载下来会出现下面2个文件一个文件夹

接下来我们创建一个demo.php文件,里面代码可以去官方文档里面复制

.htm?spm=a2c63.p38356.b99.33.5ce85964ssikJc

下面是demo.php文件代码:

特别注意:一定要通过 “require_once”引入你下载的sdk里面的 vendor 文件夹下面的 autoload.php,否则你会找不到你实例化不了下面使用的类

require_once dirname(__DIR__) . '/aliyun_sdk_guojiban/vendor/autoload.php';
<?phprequire_once dirname(__DIR__) . '/aliyun_sdk_guojiban/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
class Aliyungj
{/*国际--不需要模板code和签名,短信模板自己定义*/public function sendSms($phone,$code){AlibabaCloud::accessKeyClient($accessKeyId,$accessKeySecret)->regionId('ap-southeast-1')->asGlobalClient();$code = '驗證碼: '.$code.', 十分鐘內輸入, 請勿泄露給其他人';//此处是短信模板,国外模板是自己定义的,所以不需要模板code和签名try {$result = AlibabaCloud::rpcRequest()->product('Dysmsapi')->host('dysmsapi.ap-southeast-1.aliyuncs')->version('2018-05-01')->action('SendMessageToGlobe')//请求api接口名称->method('POST')->options(['query' => ["To" => "$phone",//接收手机号"Message" => $code,//接收的验证码],])->request();return \GuzzleHttp\json_decode($result);} catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL;} catch (ServerException $e) {echo $e->getErrorMessage() . PHP_EOL;}}/*国内--需要模板code和签名*/public function gn_sendSms($phone,$code){AlibabaCloud::accessKeyClient('$accessKeyId', '$accessKeySecret')->regionId('ap-southeast-1')->asGlobalClient();try {$result = AlibabaCloud::rpcRequest()->product('Dysmsapi')->host('dysmsapi.ap-southeast-1.aliyuncs')->version('2018-05-01')->action('SendMessageWithTemplate')//请求api接口名称->method('POST')->options(['query' => ["From" => "",//签名"TemplateCode" => "",//模板code"To" => "$phone",//接收手机号"TemplateParam" => '{"code":"'.$code.'"}',//验证码],])->request();return \GuzzleHttp\json_decode($result);} catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL;} catch (ServerException $e) {echo $e->getErrorMessage() . PHP_EOL;}}
}
$Aliyungj = new Aliyungj;
$phone = '';//记得加上某国家区号【此方式仅支持国外手机号发送验证码】
$code = '1111';
//$res = $Aliyungj->sendSms($phone,$code);
$res = $Aliyungj->gn_sendSms($phone,$code);
var_dump($res);

下面是官方api调用的其他接口,根据不同api接口请求参数,修改上面demo请求参数和请求接口名称 

.htm?spm=a2c63.p38356.b99.17.3a29bf11Cm9JBo

 

更多推荐

php thinkphp 阿里云(国际版)短信发送 中国大陆和国外

本文发布于:2024-03-06 19:31:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1716188.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:国际版   阿里   中国大陆   短信发送   国外

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!