php composer require alibabacloud/client 阿里云国际短信

国际版短信发送

服务器是国际版,短信发送也是国际版的

1、按照官方文档去安装一下,

composer require alibabacloud/client

结果出现下面报错提示: Could not find package alibabacloud/sdk.
在这里插入图片描述
2.解决方案:官方文档

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

如果此种方式不可以用,使用其他阿里云 Composer 全量镜像
在这里插入图片描述
在这里插入图片描述

//文件头部引入一下哦
require_once(dirname(dirname(__FILE__))."/Alibabacloud/vendor/autoload.php");//要换成你的路径哦!
use AlibabaCloud\Client\AlibabaCloud;
/**
     * 发送验证码
     *
     * @param   int    $mobile 手机号
     * @param   int    $code   验证码,为空时将自动生成4位数字
     * @param   string $event  事件
     * @return  boolean
     */
    public static function send($mobile, $code = null, $event = 'default')
    {
        $time = time() + 10*60; //10分钟之后过期
        $ip = request()->ip();
//        $result = Hook::listen('sms_send', $sms, null, true);
        //执行发送操作
        AlibabaCloud::accessKeyClient(self::$accessKeyId, self::$accessSecret)
            ->regionId('ap-southeast-1')
            ->asGlobalClient();
        Db::startTrans();
        try {
            if ($event == 'pass'){
                $msg = 'Your authentication information has passed, please log in to the APP to view';
            }else if($event == 'refuse'){
                $msg = 'Your authentication information has been rejected, please log in to the APP to view';
            }else{ //验证码类
                $msg = "Your verification code this time is: ".$code.", please do not disclose to others";
                //存短信码
                $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time]);
            }
            //执行发送操作
            $result = AlibabaCloud::rpcRequest()
                ->product('Dysmsapi')
                ->host('dysmsapi.ap-southeast-1.aliyuncs.com')
                ->version('2018-05-01')
                ->action('SendMessageToGlobe')
                ->method('POST')
                ->options([
                    'query' => [
                        "To" => "86".$mobile,
                        "From" => "1234567890",//自定义短信来源(也就是发送方名称)
                        "Message" => $msg,
                    ],
                ])
                ->request();
            $result = $result->toArray();
            if ($result['ResponseCode'] != 'OK') {
                $sms->delete();
                return false;
            }
            Db::commit();
        } 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值