laravel 阿里云短信发送

1:安装:composer require mrgoon/aliyun-sms dev-master

2:config/app.php里的providers配置

'providers'=>[
        /**
         * 阿里云短信
         */
        Mrgoon\AliSms\ServiceProvider::class,
]

 aliases配置

'aliases' => [
      /**
         * 阿里云短信
         */
        'AliSms'=>Mrgoon\AliSms\ServiceProvider::class,
]

 3:运行 php artisan vendor:publish 命令 选择安装的数字号

4:配置config/aliyunsms.php  看好变量名称和.env里面的变量名称保持一致

return [
    'access_key'        => env('ALIYUN_ACCESSKEYID'), // accessKey
    'access_secret'     => env('ALIYUN_ACCESSKEYSECRET'), // accessSecret
    'sign_name'         => env('ALIYUN_SMS_SIGN_NAME'), // 签名
];

5:在.env文件配置以下三项

ALIYUN_ACCESSKEYID=签名id
ALIYUN_ACCESSKEYSECRET=签名key 密码
ALIYUN_SMS_SIGN_NAME=你的签名

6:逻辑层代码 

<?php
/**
 * 短信验证码
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2020/1/20
 * Time: 10:20
 */
namespace App\Http\Controllers\Home;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
//use App\Exceptions\WrongException;

class  IndexController extends Controller{

    /*
     * 生成短信验证码
     */
    function generateCode($length = 6)
    {
        return rand(pow(10, ($length - 1)), pow(10, $length) - 1);
    }

    /*
     * 发送短信
     */
    public function sendSms(Request $request){
        $mobile = "13911111111";
        $code  = $this->generateCode();
        $data = Array(   //短信模板中字段的值
            "code" => $code,
            "product" => "dsd"
        );
        //短信模板Code
        $templateCode = "SMS_123456789";
        $aliSms = new \Mrgoon\AliSms\AliSms();
        $response = $aliSms->sendSms($mobile,$templateCode, $data);
        if($response->Message == 'OK'){//发送成功
            echo "<pre>";
            print_r($response);
            echo "</pre>";
            exit();
        }else {//发送失败
            //throw new WrongException('发送验证码失败');
        }
    }
    
}

猜你喜欢

转载自blog.csdn.net/weixin_38615720/article/details/104053328