完整的demo下载地址请前往tpshop官网下载.
申请好短信key,短信签名并添加短信模板(具体添加方法可阿里 . 短信参考官方文档 )
将sdk放到thinkphp5框架的vendor目录下, 如下图:
发送短信代码如下:
private function sendsmsbyaliyun()
{
include_once './vendor/aliyun-php-sdk-core/config.php';
include_once './vendor/dysmsapi/request/v20170525/sendsmsrequest.php';
$accesskeyid = $this->config['sms_appkey'];//阿里云短信keyid
$accesskeysecret = $this->config['sms_secretkey'];//阿里云短信keysecret
//短信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->setphonenumbers("138xxx");//必填-短信接收号码
$request->setsignname("xxxx");//必填-短信签名: 如何添加签名可以参考阿里云短信或tpshop官方文档
//必填-短信模板code
$request->settemplatecode("修改手机号码");//必填-短信签名: 如何添加签名可以参考阿里云短信或tpshop官方文档
//选填-假如模板中存在变量需要替换则为必填(json格式)
$request->settemplateparam("{\"code\":\"4894\"}");//短信签名内容:
//选填-发送短信流水号
//$request->setoutid("1234");
//发起访问请求
$resp = $acsclient->getacsresponse($request);
//短信发送成功返回true,失败返回false
if ($resp && $resp->code == 'ok') {
return array('status' => 1, 'msg' => $resp->code);
} else {
return array('status' => -1, 'msg' => $resp->message . ' subcode:' . $resp->code);
}
}
注意, 引用阿里云短信的sdk文件前要加”./”, 否则可能找不到php文件.
集成后, 测试效果如下
以上就是aliyun短信接口开发示例,thkinkphp短信接口开发示例的详细内容。
