errors = '参数缺失:regionid必须要设置'; return false; } if (!isset($config['accessKeyId']) || empty($config['accessKeyId'])) { $this->errors = '参数缺失:accessKeyId必须要设置'; return false; } if (!isset($config['accessKeySecret']) || empty($config['accessKeySecret'])) { $this->errors = '参数缺失:accessKeySecret必须要设置'; return false; } if (!isset($config['sign']) || empty($config['sign'])) { $this->errors = '参数缺失:短信签名sign必须要设置'; return false; } $this->regionid = $option['regionid']; $this->accessKeyId = $config['accessKeyId']; $this->accessKeySecret = $config['accessKeySecret']; $this->sign = $config['sign']; if (isset($option['OutId']) || !empty($config['OutId'])) { $this->OutId = $option['OutId']; } if (isset($option['SmsUpExtendCode']) || !empty($config['SmsUpExtendCode'])) { $this->SmsUpExtendCode = $option['SmsUpExtendCode']; } } public function send($phone,$tmpl,$content=[]){ $params = array (); // *** 需用户填写部分 *** // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息 $accessKeyId = $this->accessKeyId; $accessKeySecret = $this->accessKeySecret; // fixme 必填: 短信接收号码 if (empty($phone)) { $this->errors = '电话号码phone必须要填写'; return false; } $params["PhoneNumbers"] = $phone; // fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign $params["SignName"] = $this->sign; // fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template if (empty($tmpl)) { $this->errors = '短信模板编码必须填写'; return false; } $params["TemplateCode"] = $tmpl; // fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项 $params['TemplateParam'] = $content; // fixme 可选: 设置发送短信流水号 $params['OutId'] = $this->OutId; // fixme 可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段 $params['SmsUpExtendCode'] = $this->SmsUpExtendCode; // *** 需用户填写部分结束, 以下代码若无必要无需更改 *** if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) { $params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE); } // 初始化SignatureHelper实例用于设置参数,签名以及发送请求 $helper = new Helper(); // 此处可能会抛出异常,注意catch $content = $helper->request( $accessKeyId, $accessKeySecret, "dysmsapi.aliyuncs.com", array_merge($params, array( "RegionId" => "cn-hangzhou", "Action" => "SendSms", "Version" => "2017-05-25", )) // fixme 选填: 启用https // ,true ); return $content; } }