0.基本配置
百度云链接密码: 3up8
将配置文件放置在vendor目录下
1.接收手机号码
public function send()
{
if (request()->isAjax()) {//如果是ajax请求
$tel = input('telphone');//手机号
$r = $this->send_sms($tel);
//结果分析
$code = object_to_array($r);
if($code['Code']=='OK')
{
echo json_encode([
'status' => 1,
'message' => '发送成功',
]);exit;
}else{
echo json_encode([
'status' => 0,
'message' => '发送失败',
]);exit;
}
}
}
2.发送
function send_sms($tel=''){
$row = []; //阿里大于配置
Vendor('alidayu.api_sdk.aliyun-php-sdk-core.Config');
Vendor('alidayu.api_sdk.Dysmsapi.Request.V20170525.SendSmsRequest');
$tel = input('get.telphone');//手机号
//此处需要替换成自己的AK信息
$accessKeyId = $row['appkey'];//参考本文档步骤2
$accessKeySecret = $row['secretkey'];//参考本文档步骤2
//短信API产品名
$product = "Dysmsapi";
//短信API产品域名
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region
$region = "cn-hangzhou";
//初始化访问的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
$request = new \Dysmsapi\Request\V20170525\SendSmsRequest();
//$request = new SendSmsRequest;
//必填-短信接收号码
$request->setPhoneNumbers($tel);
//必填-短信签名
$request->setSignName($row['signname']);
//必填-短信模板Code
$request->setTemplateCode($row['templatecode']);
$num = rand(100000,999999);
cookie($tel.'messageCode',$num);//保存到cookie
//选填-假如模板中存在变量需要替换则为必填(JSON格式)
$request->setTemplateParam("{'code':$num}");
//选填-发送短信流水号
// $request->setOutId("1234");
//发起访问请求
$acsResponse = $acsClient->getAcsResponse($request);
return $acsResponse;
}