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

① 申请短信签名

②申请短信模板

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

然后,下载阿里云短信服务的SDK包,https://help.aliyun.com/document_detail

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

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



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

引入这两个SDK包。

最后,

<?php
namespace App\Http\Controllers; use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;
// 加载区域结点配置
Config::load();
... public function __construct($accessKeyId="6456457897447",$accessKeySecret="66666664444444")
{
// $this->sms=$sms; // 短信API产品名
$product = "Dysmsapi";
// 短信API产品域名
$domain = "dysmsapi.aliyuncs.com";
// 暂时不支持多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 :https://api.alidayu.com/docs/api.htm?spm=a3142.7395905.4.6.5MNlbE&apiId=25450

相关博客:http://blog.csdn.net/qq_38125058/article/details/79156289

php 阿里云短信服务及阿里大鱼实现短信验证码的发送的更多相关文章

  1. 开个坑, 写个阿里云开放储存服务(OSS)的C++版SDK以及客户端

    这应该是继我研究手册QQ协议后的第2个稍微正式一点的网络程序, 不只是Scoket套接字编程, 还涉及到更多的HTTP协议知识! 阿里云开放储存服务OSS官方已经提供了不少SDK, 包括PHP/Pyt ...

  2. ECStore图片存储采用阿里云OSS(图片存储)服务

    主要功能:ECStore图片存储采用阿里云OSS(图片存储)服务   适用版本:ECStore 授权方式:授权域名使用,付费插件 联系方式: QQ 275553385  mail: jimingson ...

  3. 容器监控—阿里云&容器内部服务监控

    目前Docker的使用越来越离不开对容器的监控,阿里云最近上线了容器服务,不但提供了核心的容器和宿主机监控能力,而且支持集成 Cloud Insight 监控,下面会介绍如何集成. 首先介绍一下阿里云 ...

  4. apache中的https设置基于阿里云免费ssl服务

    环境是:debian7+apache2.2+阿里云免费ssl服务,站点以前的http已经在运行了, 1.开通阿里云免费SSL&DNS解析配置 购买位置:打开阿里云找到“产品”-“安全”-“CA ...

  5. 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询

    阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...

  6. .Net Core in Docker - 使用阿里云Codepipeline及阿里云容器镜像服务实现持续集成(CI)

    前面已经介绍过了 .Net Core 程序发布到 Docker 容器的内容.但是每次通过 SSH 链接到服务器敲命令,运行脚本也是挺麻烦的一件事.程序员是最懒的,能让电脑解决的问题绝不手动解决,如果当 ...

  7. 阿里云盾AliYunDun服务IO超高

    停止阿里云盾AliYunDun服务解决大量写磁盘问题-小内存ECS服务器 阿里云数据库在没备案,涉及大量IO操作时会自动启动阿里云盾这个服务,会导致服务器变得很卡,一直持续百分之99,一顿重启没有什么 ...

  8. [Docker镜像] 关于阿里云容器镜像服务的使用(以天池比赛提交镜像为例)

    最近在参加天池比赛,由于比赛需要使用阿里云容器镜像服务完成线上预测任务,所以花费了3-4天的时间了解并使用Docker完成相关镜像操作,在此分享下我学习的内容,以下是本文的目录结构: 介绍 镜像 容器 ...

  9. 【转载】ASP.NET网站选购阿里云服务器的时候,阿里云账号个人认证以及企业认证有何不同

    在采购阿里云产品,如阿里云云服务器.阿里云短信包.阿里云数据库MySql以及Sqlserver.阿里云对象存储OSS等云产品的时候,如果账号未进行实名认证,很多时候会要求实名认证操作,在实名认证时可选 ...

  10. 【阿里云产品公测】阿里云ACE配置全程图解,详细到不行!

    作者:阿里云用户sofia 看过阿里云社区的其他技术大姥们的评测教程,感觉还是不够详细,对于一个第一次接触ace.新浪sae这类的应用来说还是比较陌生的.我最喜欢写教程了,不过我有我的风格,那就是简单 ...

随机推荐

  1. FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析&移植10寸电容屏驱动到Android4.2) (by liukun321咕唧咕唧)

    这是几个月以前的东西了,在彻底遗忘之前拿出来好好写写.做个笔记,也算是造福后来人了.在做这个项目之前,没有做过电容屏的驱动,印象中的电容触摸屏是不需要校正的.IC支持多大的屏就要配多大的屏.但是拿到需 ...

  2. ISLR系列:(3)重采样方法 Cross-Validation & Bootstrap

    Resampling Methods 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本人的 ...

  3. python3爬虫 - cookie登录实战

    http://blog.csdn.net/pipisorry/article/details/47948065 实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.h ...

  4. 【一天一道LeetCode】#56. Merge Intervals

    一天一道LeetCode系列 (一)题目 Given a collection of intervals, merge all overlapping intervals. For example, ...

  5. Leetcode_168_Excel Sheet Column Title

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42554641 Given a positive integ ...

  6. RAC 10g administration

    10g RAC administration See OCFS Oracle Cluster Filesystem, ASM, TNSnames configuration, Oracle Datab ...

  7. Xcode中的调试工具栏简介

    如下图所示: 从左至右,第一个按钮用来隐藏调试区域. 第二个按钮向你展示断点是否被全局开启或禁用.如果它不是高亮蓝色,则没有断点会被触发. 第三个按钮暂停或继续程序的执行,你一般点击它继续运行到程序的 ...

  8. [转]高级SQL注入:混淆和绕过

    ############# [0×00] – 简介[0×01] – 过滤规避(Mysql)[0x01a] – 绕过函数和关键词的过滤[0x01b] – 绕过正则表达式过滤[0×02] – 常见绕过技术 ...

  9. 1.Linux下libevent和memcached安装

     1 下载libevent-2.0.22-stable.tar.gz,下载地址是:http://libevent.org/ 2 下载memcached,下载地址是:http://memcached ...

  10. Java进阶(十九)利用正则表达式批处理含链接内容文档

    利用正则表达式批处理含链接内容文档 由于项目需求,自己需要将带有链接的标签去除,例如 <a href="/zhaoyao/17-66.html">头晕</a> ...