新版阿里云短信服务之发送验证码接口快速实现

Posted tutuut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新版阿里云短信服务之发送验证码接口快速实现相关的知识,希望对你有一定的参考价值。

1.登录阿里云控制台选择免费开通短信服务(百度阿里云)

2.申请签名和模板(根据要求操作)

(1)签名就是我们收到的验证码短信开头开头【】中的内容

(2)模板就是文本内容

技术图片

注意模板CODE,接口中会用到

(3)鼠标移到右上角头像,看到AccessKey管理,申请一个,接口中使用

技术图片

技术图片

(4)安装SDK

composer require alibabacloud/sd

(5)发送验证码的API接口
简单封装一个类,调用即可

<?php
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;

// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.md

class Sms
{
   public function sendSms($phoneNum, $code)
   {
      AlibabaCloud::accessKeyClient(‘你的<accessKeyId>‘, ‘你的<accessSecret>‘)
                        ->regionId(‘cn-hangzhou‘)
                        ->asDefaultClient();

      try {
          $result = AlibabaCloud::rpc()
                          ->product(‘Dysmsapi‘)
                          // ->scheme(‘https‘) // https | http
                          ->version(‘2017-05-25‘)
                          ->action(‘SendSms‘)
                          ->method(‘POST‘)
                          ->host(‘dysmsapi.aliyuncs.com‘)
                          ->options([
                                        ‘query‘ => [
                                          ‘RegionId‘ => "cn-hangzhou",
                                          ‘PhoneNumbers‘ => $phoneNum,
                                          ‘SignName‘ => "申请的签名",
                                          ‘TemplateCode‘ => "申请的模板CODE",
                                          ‘TemplateParam‘ => $code(json格式),
                                        ],
                                    ])
                          ->request();
          print_r($result->toArray());
      } catch (ClientException $e) {
          echo $e->getErrorMessage() . PHP_EOL;
      } catch (ServerException $e) {
          echo $e->getErrorMessage() . PHP_EOL;
      }
   } 
}

这些内容根据实际情况修改

AlibabaCloud::accessKeyClient(‘你的<accessKeyId>‘, ‘你的<accessSecret>‘)

                                          ‘PhoneNumbers‘ => $phoneNum,
                                          ‘SignName‘ => "申请的签名",
                                          ‘TemplateCode‘ => "申请的模板CODE",
                                          ‘TemplateParam‘ => $code(json格式),

以上便是短信验证码的简单发送接口
更多内容,见阿里云短信服务文档https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.4.4.145650a4HUKi5u



以上是关于新版阿里云短信服务之发送验证码接口快速实现的主要内容,如果未能解决你的问题,请参考以下文章

阿里云之发送验证码

个人项目需要发送验证码?无法对接运营商,试试第三方工具阿里云吧

个人项目需要发送验证码?无法对接运营商,试试第三方工具阿里云吧

Java 使用阿里云短信的API接口

django之集成阿里云通信(发送手机短信验证码)

阿里云短信验证_基于阿里云OpenAPI实现