1.composer require alibabacloud/client
2.App\Service\AliyunSms.php
<?php
namespace App\Service;
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
class AliyunSms
{
public static function sendCode($phone, $code)
{
AlibabaCloud::accessKeyClient('LTAIbuiASDAQwJNOUJ4l', 'og3fSMFpYZMkPB0UlgcdA4ASDA4JnUAZnEQ')
->regionId('cn-hangzhou')
->asDefaultClient();
try {
$result = AlibabaCloud::rpc(['idn_conversion' => false])
->product('Dysmsapi')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => "cn-hangzhou",
'PhoneNumbers' => $phone,
'SignName' => "青创",
'TemplateCode' => "SMS_9670001363",
'TemplateParam' => "{code:{$code}}",
],
])->request();
return $result;
}catch (ClientException $e){
print_r($e->getMessage());
}
}
}
3.控制器调用测试
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Service\AliyunSms;
class TestController extends Controller
{
//短信测试
public function sendSms(){
$phone = '1851850****';
$code = rand(111111,999999);
$result = AliyunSms::sendCode($phone,$code);
if($result){
echo "短信发送成功";
}else{
echo "失败";
}
}
}
4.路由定义 api.php
Route::get('/test/sendSms','TestController@sendSms');