站三界导航
首页 TP代码一个TP5.0对接阿里云短信SDK版本V2.0版本的方法代码

一个TP5.0对接阿里云短信SDK版本V2.0版本的方法代码

  • TP代码
  • 来源:站三界导航
  • 119阅读
  • 2023-05-20

<?php
namespace app\index\controller;

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

class AliSmsUtil {
    private $accessKeyId;
    private $accessKeySecret;
    private $signName;
    private $templateCode;

    public function __construct($accessKeyId, $accessKeySecret, $signName, $templateCode) {
        $this->accessKeyId = $accessKeyId;
        $this->accessKeySecret = $accessKeySecret;
        $this->signName = $signName;
        $this->templateCode = $templateCode;
        AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)->regionId('cn-hangzhou')->asDefaultClient();
    }

    /**
     * 发送短信
     * 
     * @param string $mobile   手机号码
     * @param array  $template 模板参数
     * @return bool
     * @throws ClientException
     * @throws ServerException
     */
    public function sendSms($mobile, $template) {
        $params = [
            'PhoneNumbers' => $mobile,
            'SignName' => $this->signName,
            'TemplateCode' => $this->templateCode,
            'TemplateParam' => json_encode($template),
        ];
        $result = AlibabaCloud::rpc()
            ->product('Dysmsapi')
            ->version('2017-05-25')
            ->action('SendSms')
            ->method('POST')
            ->host('dysmsapi.aliyuncs.com')
            ->options([
                'query' => $params,
            ])
            ->request();
        return $result->toArray()['Code'] == 'OK';
    }
}

以上代码需要依赖阿里云SDK for PHP和阿里云短信SDK for PHP,可以通过composer进行引入和配置。同时需要注意,以上代码仅为一个示例,具体实现需要根据实际业务需求进行调整和完善。

使用方法

<?php
use app\index\controller\AliSmsUtil;

$accessKeyId = 'yourAccessKeyId';
$accessKeySecret = 'yourAccessKeySecret';
$signName = 'yourSignName';
$templateCode = 'yourTemplateCode';

$smsUtil = new AliSmsUtil($accessKeyId, $accessKeySecret, $signName, $templateCode);

$mobile = '12345678901';
$template = [
    'code' => '123456',
];

$isSuccess = $smsUtil->sendSms($mobile, $template);
if ($isSuccess) {
    echo '短信发送成功';
} else {
    echo '短信发送失败';
}
以上代码中,$accessKeyId、$accessKeySecret、$signName和$templateCode需要替换为您自己的阿里云短信服务相关配置,$mobile和$template为具体的短信接收手机号和模板参数。具体的发送短信逻辑可以根据实际业务需求进行调整和完善。

本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/43439.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
相关文章 更多 >>
随机网站 更多 >>
最新小程序 更多>>
最新公众号更多>>
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。