ThinkPHP阿里云短信发送

ThinkPHP阿里云短信调用SendSms发送

SendSms接口是短信发送接口,支持在一次请求中向多个不同的手机号码发送同样内容的短信。
如果需要在一次请求中分别向多个不同的手机号码发送不同签名和模版内容的短信,使用SendBatchSms接口。

准备:
1、AccessKey ID和AccessKey Secret,可在阿里云控制台创建和查看
2、Alibaba Cloud SDK for PHP适用于PHP > 5.5.0

安装Alibaba Cloud SDK for PHP
1、通过Composer安装Alibaba Cloud SDK for PHP作为依赖项

执行命令:

composer require alibabacloud/sdk

2、通过下载php-sdk/sdk.zip 文件在项目中使用

下载地址:

http://aliyunsdk-pages.alicdn.com/php-sdk/sdk.zip?spm=a2c4g.11186623.2.13.114a16e4KqoVMV&file=sdk.zip

发起调用



<?php
  
	use AlibabaCloud\Client\AlibabaCloud;
	use AlibabaCloud\Client\Exception\ClientException;
	use AlibabaCloud\Client\Exception\ServerException;
	
    $accessKeyId='阿里云accessKeyId';
    $accessSecret='阿里云accessSecret';
    
    //初始化客户端
	AlibabaCloud::accessKeyClient($accessKeyId,$accessSecret)
	                        ->regionId('cn-hangzhou')
	                        ->asDefaultClient();
	//发起调用-RPC调用(也可使用ROA调用具体可看官方文档)
	
	try {
	    $result = AlibabaCloud::rpc()
	                          ->product('Dysmsapi')
	                          ->version('2017-05-25')
	                          ->action('SendSms')
	                          ->method('POST')
	                          ->host('dysmsapi.aliyuncs.com')
	                          ->options([
	                                       'query' => [
                                            'RegionId' => "cn-hangzhou",    
                                            'PhoneNumbers' => $mobile,
                                            'SignName' => $sign_name,
                                            'TemplateCode' => $templateCode,
                                            'TemplateParam' => json_encode($smsData),
                                            'SmsUpExtendCode' => "1",
                                            'OutId' => $mobile.'_'.time(),
                                            ],
	                                    ])
	                          ->request();
	    $result=$result->toArray();
	    return $result['Code'] === 'OK' ? 'success' : 'fail';
	} catch (ClientException $e) {
	    return 'fail:'.$e->getErrorMessage();
	} catch (ServerException $e) {
	    return 'fail:'.$e->getErrorMessage();
	}

请求参数:

名称是否必选描述
PhoneNumbers接收短信的手机号码,多个手机号码发送短信,手机号码之间以英文逗号(,)分隔
SignName短信签名名称
TemplateCode短信模板ID
TemplateParam短信模板变量对应的实际值,JSON格式
SmsUpExtendCode上行短信扩展码
OutId外部流水号

返回参数:

名称描述
BizId发送回执ID
Code请求状态码 返回OK代表请求成功。
Message状态码的描述

阿里云在线调试地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 ThinkPHP 集成阿里云 OSS 的代码示例: 1. 安装阿里云 OSS SDK 在项目根目录下的 `composer.json` 文件中添加阿里云 OSS SDK 的依赖: ``` "require": { "aliyuncs/oss-sdk-php": "^2.5" } ``` 然后执行 `composer install` 来安装依赖。 2. 配置阿里云 OSS 在 `config` 目录下新建 `oss.php` 配置文件,并添加以下内容: ```php return [ 'access_key_id' => 'your_access_key_id', 'access_key_secret' => 'your_access_key_secret', 'bucket' => 'your_bucket_name', 'endpoint' => 'your_endpoint', ]; ``` 其中,`access_key_id` 和 `access_key_secret` 是您的阿里云账号的 Access Key ID 和 Access Key Secret,`bucket` 是您的 OSS 存储桶名称,`endpoint` 是您的 OSS 访问域名。 3. 初始化阿里云 OSS 在 `app` 目录下新建 `common.php` 文件,并添加以下内容: ```php use OSS\OssClient; if (!function_exists('oss')) { function oss() { $config = config('oss'); $ossClient = new OssClient( $config['access_key_id'], $config['access_key_secret'], $config['endpoint'] ); return $ossClient; } } ``` 这里我们使用了一个自定义的全局函数 `oss()` 来初始化阿里云 OSS 客户端。 4. 上传文件到阿里云 OSS ```php use OSS\Core\OssException; try { $result = oss()->uploadFile( $bucket, $object, $file ); } catch (OssException $e) { // 处理异常 } ``` 其中,`$bucket` 是您的 OSS 存储桶名称,`$object` 是上传到 OSS 的文件路径和文件名,`$file` 是本地要上传的文件路径。 5. 下载文件 ```php use OSS\Core\OssException; try { oss()->getObject( $bucket, $object, $options ); } catch (OssException $e) { // 处理异常 } ``` 其中,`$bucket` 是您的 OSS 存储桶名称,`$object` 是要下载的文件路径和文件名,`$options` 是一个可选的参数数组,用于指定下载文件的一些选项,比如 `fileDownload` 用于指定下载时的文件名。 以上是使用 ThinkPHP 集成阿里云 OSS 的基本操作示例。如果您需要进行其他操作,可以参考阿里云 OSS SDK 的文档和 API 参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值