评论

收藏

[PHP] PHP如何实现阿里云短信sdk灵活应用在项目中的方法

开发技术 开发技术 发布于:2021-08-20 15:26 | 阅读数:546 | 评论:0

首先安装
composer require alibabacloud/sdk
接着看alibabacloud官网文档
https://packagist.org/packages/alibabacloud/sdk
示例
My_composer_aliyunsms.php
<?php
// use Swoft\Task\Bean\Annotation\Task;
// use AlibabaCloud\Client\AlibabaCloud;
// use AlibabaCloud\Client\Exception\ClientException;
// use AlibabaCloud\Client\Exception\ServerException;
 
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;
 
/**
 * 阿里信息发送类
 * @Task("ali")
 */
class My_composer_aliyunsms
{
  /**
   * 发送短信验证码
   */
  public function sendCode($config,$phone,$code)
  {
  $param = [
    'code' => $code
  ];
  AlibabaCloud::accessKeyClient($config['accessKeyId'], $config['accessSecret'])
    ->regionId($config['regionId'])
    ->asGlobalClient();
 
  try {
    $result = AlibabaCloud::rpcRequest()
    ->product('Dysmsapi')
    ->version('2017-05-25')
    ->action('SendSms')
    ->method('POST')
    ->options([
      'query' => [
      'PhoneNumbers' => $phone,
      'SignName' => $config['SignName'],
      'TemplateCode' => $config['TemplateCode'],
      'TemplateParam' => json_encode($param)
      ],
    ])
    ->request();
    return $result->toArray();
  } catch (ClientException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
  } catch (ServerException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
  }
  }
}
demo
include 'My_composer_aliyunsms.php';
$sms = new My_composer_aliyunsms();
$phone='xxxxxx';
$code='99999'; 
$config = [
 'accessKeyId' => 'LTAIMje******hS',
 'accessSecret' => 'fMuQTLUrKQN******Z2m07',
 'SignName' => '****',
 'TemplateCode' => 'SMS_****04',
 'regionId' => 'cn-hangzhou'
];
$re = $sms->sendCode($config,$phone,$code);  
var_dump($re);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://segmentfault.com/a/1190000019471927

关注下面的标签,发现更多相似文章