阿里云国际版短信发送(PHP)

composer安装阿里云sdk

composer require alibabacloud/client

引入autoload.php文件

require_once dirname(__DIR__) . '/aliyun_sdk_guojiban/vendor/autoload.php';

国际版和国内版发送短信代码

<?php
 
require_once dirname(__DIR__) . '/aliyun_sdk_guojiban/vendor/autoload.php';
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
class Aliyungj
{
    /*国际版:短信模板自己定义不需要模板code和签名*/
    public function sendSms($phone,$code){
        AlibabaCloud::accessKeyClient($accessKeyId,$accessKeySecret)
            ->regionId('ap-southeast-1')
            ->asGlobalClient();
        $code = '验证码: '.$code.', 5分钟内输入,请勿泄露给他人';
        try {
            $result = AlibabaCloud::rpcRequest()
                ->product('Dysmsapi')
                ->host('dysmsapi.ap-southeast-1.aliyuncs.com')
                ->version('2018-05-01')
                ->action('SendMessageToGlobe')//请求api接口名称
                ->method('POST')
                ->options([
                    'query' => [
                        "To" => "$phone",//发送目标手机号
                        "Message" => $code,//发送的内容
                    ],
                ])
                ->request();
            return \GuzzleHttp\json_decode($result);
        } catch (ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
    }
    /*国内版:需要模板code和签名*/
    public function china_sendSms($phone,$code){
        AlibabaCloud::accessKeyClient('$accessKeyId', '$accessKeySecret')
            ->regionId('ap-southeast-1')
            ->asGlobalClient();
        try {
            $result = AlibabaCloud::rpcRequest()
                ->product('Dysmsapi')
                ->host('dysmsapi.ap-southeast-1.aliyuncs.com')
                ->version('2018-05-01')
                ->action('SendMessageWithTemplate')//请求api接口名称
                ->method('POST')
                ->options([
                    'query' => [
                        "From" => "",//签名
                        "TemplateCode" => "",//模板code
                        "To" => "$phone",//接收手机号
                        "TemplateParam" => '{"code":"'.$code.'"}',//验证码
                    ],
                ])
                ->request();
            return \GuzzleHttp\json_decode($result);
        } catch (ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        } catch (ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
    }
}
 
 

调用方法

$Aliyungj = new Aliyungj;
$phone = '';//记得加上某国家区号【此方式仅支持国外手机号发送验证码】新加坡65 国内不需要  例如【65139****2580】
$code = mt_rand(100000, 999999);
$res = $Aliyungj->sendSms($phone,$code);
$res = $Aliyungj->china_sendSms($phone,$code);
var_dump($res);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值