1:下载短信SDK http://ytx-sdk.oss-cn-shanghai.aliyuncs.com/dysms_php.zip?spm=a2c4g.11186623.2.15.11b44175iUwahh&file=dysms_php.zip 解压后 改名为Aliyun 添加到vendor
2:config.php公共参数配置
'ALI_SMS' => array(
'PRODUCT' => 'Dysmsapi',
'DOMAIN' => 'dysmsapi.aliyuncs.com',
'REGION' => 'cn-hangzhou',
'END_POINT_NAME' => 'cn-hangzhou',
'KEY_ID' => 'xxxx',
'KEY_SECRET' => 'xxxxx',
'SIGN_NAME' => 'xxxx',
'TEMPLATE_CODE' =>'xxxx',
),
3:控制器函数
//发送短信函数
public function sendCode($num,$code){
require_once('/ThinkPHP/Library/Vendor/Aliyun/vendor/autoload.php');
//加载区域结点配置
Config::load();
// 初始化用户Profile实例
$profile = DefaultProfile::getProfile(C('ALI_SMS.REGION'), C('ALI_SMS.KEY_ID'), C('ALI_SMS.KEY_SECRET'));
// 增加服务结点
DefaultProfile::addEndpoint(C('ALI_SMS.END_POINT_NAME'), C('ALI_SMS.REGION'), C('ALI_SMS.PRODUCT'), C('ALI_SMS.DOMAIN'));
// 初始化AcsClient用于发起请求
$acsClient= new DefaultAcsClient($profile);
// 初始化SendSmsRequest实例用于设置发送短信的参数
$request = new SendSmsRequest();
// 必填,设置雉短信接收号码
$request->setPhoneNumbers($num);
// 必填,设置签名名称
$request->setSignName(C('ALI_SMS.SIGN_NAME'));
// 必填,设置模板CODE
$request->setTemplateCode(C('ALI_SMS.TEMPLATE_CODE'));
// 可选,设置模板参数
$request->setTemplateParam(json_encode(array( // 短信模板中字段的值
"code"=>$code
)));
//发起访问请求
$acsResponse = $acsClient->getAcsResponse($request);
//返回请求结果
$result = json_decode(json_encode($acsResponse),true);
return $result;
}
//发送手机验证码
public function sendmsg(){
$phone = I('post.tel');
$code = rand(100000,999999);
$_SESSION['code'] = $code;
$res = $this->sendCode($phone,$code);
if($code == "OK"){
$msg = "发送成功";
}else{
$msg = '发送失败';
}
$this->ajaxReturn(json_encode($msg));
}