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('发送验证码失败');
}
}
}