原生PHP及thinkphp6接入阿里云短信
申请accesskey
获取到Accesskey ID和Accesskey Secret保存下来,一会要用到
添加测试手机号,在接口测试能否正常发送
下载阿里云短信sdk,使用composer下载,没有安装请先安装
安装可以安装到任意文件夹下,后面代码写好后,直接复制到tp项目内就行,最新版本安装可能composer查找不到,所以我这里安装2.0.20
composer require alibabacloud/dysmsapi-20170525 2.0.20
安装完成后文件目录结构
新建class="lazy" data-src文件夹,在里面创建一个类Sample,复制如下代码
$accessKeyId, // 必填,您的 AccessKey Secret "accessKeySecret" => $accessKeySecret ]); // 访问的域名 $config->endpoint = "dysmsapi.aliyuncs.com"; return new Dysmsapi($config); } public static function main($phone,$code){ // 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html $client = self::createClient("填第一步的Accesskey ID", "填第一步的Accesskey Secret"); $sendSmsRequest = new SendSmsRequest([ "signName" => "阿里云短信测试", "templateCode" => "SMS_154950909", "phoneNumbers" => "$phone", "templateParam" => "{\"code\":\"$code\"}" ]); $runtime = new RuntimeOptions([]); try { // 复制代码运行请自行打印 API 的返回值 $data=$client->sendSmsWithOptions($sendSmsRequest, $runtime); echo json_encode($data); } catch (Exception $error) { if (!($error instanceof TeaError)) { $error = new TeaError([], $error->getMessage(), $error->getCode(), $error); } // 如有需要,请打印 error Utils::assertAsString($error->message); } }}$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';if (file_exists($path)) { require_once $path;}//Sample::main(array_slice($argv, 1));
演示调用(到这里我们的接口就已经接好了,现在调用Sample类的main方法就能发送短信了)
原生调用:在class="lazy" data-src文件夹下新建一个index.php ,访问index.php。传入参数56789就调用成功了
$phone, 'code'=>$code ]; \AlibabaCloud\SDK\Sample\Sample::main($phone,$code);}?>
thinkphp调用:
(一)将cmsPhp文件夹移到tp6项目public文件夹下
(2)新建控制器Code
Code.php代码
$phone, 'code'=>$code, 'date'=>$date ]; $suc=Db::table('code')->save($data); Sample::main($phone,$code); } } }
访问code2方法传入手机号就调用成功了
来源地址:https://blog.csdn.net/qq_37196621/article/details/128676338
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341