1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php 阿里云短信服务及阿里大鱼实现短信验证码的发送

php 阿里云短信服务及阿里大鱼实现短信验证码的发送

时间:2020-09-28 13:29:11

相关推荐

php 阿里云短信服务及阿里大鱼实现短信验证码的发送

阿里云短信服务

一:使用阿里云的短信服务

① 申请短信签名

②申请短信模板

③创建Access Key,获取AccessKeyId 与 AccessKeySecret。(为了安全起见,这里建议使用子用户的Access Key)

然后,下载阿里云短信服务的SDK包,/document_detail

在项目的app目录下新建Libs文件夹,将上图的两个SDK包放入Libs下。

项目根目录找到composer.json文件,打开,修改配置如下

紧接着在项目根目录执行:composer dumpautoload

引入这两个SDK包。

最后,

<?phpnamespace App\Http\Controllers;use Aliyun\Core\Config;use Aliyun\Core\Profile\DefaultProfile;use Aliyun\Core\DefaultAcsClient;use Aliyun\Api\Sms\Request\V0525\SendSmsRequest;use Aliyun\Api\Sms\Request\V0525\QuerySendDetailsRequest;// 加载区域结点配置Config::load();...public function __construct($accessKeyId="6456457897447",$accessKeySecret="66666664444444"){// $this->sms=$sms;// 短信API产品名$product = "Dysmsapi";// 短信API产品域名$domain = "";// 暂时不支持多Region$region = "cn-hangzhou";// 服务结点$endPointName = "cn-hangzhou";// 初始化用户Profile实例$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);// 增加服务结点DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);// 初始化AcsClient用于发起请求$this->acsClient = new DefaultAcsClient($profile);}...//具体实现方法function getCode($phoneNumbers="1********7",$signName="****",$templateCode="SMS_55555555",$outId=null){// 初始化SendSmsRequest实例用于设置发送短信的参数$request = new SendSmsRequest;// 必填,设置雉短信接收号码$request->setPhoneNumbers($phoneNumbers);// 必填,设置签名名称$request->setSignName($signName);// 必填,设置模板CODE$request->setTemplateCode($templateCode);$num = rand(100000,999999);// 可选,设置模板参数$request->setTemplateParam(json_encode(Array("code" => "$num")));// 可选,设置流水号if($outId) {$request->setOutId($outId);}// 发起访问请求$acsResponse = $this->acsClient->getAcsResponse($request); }

调用以上getCode方法,即可发送短信验证码。

二:使用阿里大于发送短信验证码

还是必不可少的三点,

① 申请短信签名

②申请短信模板

③获取App Key与 App Secret

把下载好的sdk包放入Libs文件夹下,

执行composer dumpautoload;

实现短信验证码的发送:

public function getCode($phoneNumbers="1*********7",$signName="****",$templateCode="SMS_666666666"){include app_path()."\Libs\sdk_php\TopSdk.php";date_default_timezone_set('Asia/Shanghai'); $c = new \TopClient;$c->appkey = '8888888888';$c->secretKey = '555555555555555555555';$req = new \AlibabaAliqinFcSmsNumSendRequest;$req->setExtend("123456");$req->setSmsType("normal");$req->setSmsFreeSignName($signName);// $num = rand(100000,999999);$req->setSmsParam("{\"code\":\"12334\",\"product\":\"alidayu\"}");$req->setRecNum($phoneNumbers);$req->setSmsTemplateCode($templateCode);$resp = $c->execute($req);// var_dump($c->execute($req));}

阿里大于短信使用api :/docs/api.htm?spm=a3142.7395905.4.6.5MNlbE&apiId=25450

相关博客:/qq_38125058/article/details/79156289

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。