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

① 申请短信签名

②申请短信模板

③创建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. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  2. Android官方技术文档翻译——Gradle 插件用户指南(4)

    最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...

  3. 《java入门第一季》之面向对象静态内部类和非静态内部类的区别

    很感谢在内部类章节,"开心阳"先生给与的建议.使用静态内部类.这里就简单说一下静态内部类的使用. package com.devin; public class MyMain{ p ...

  4. 【Qt编程】Qt学习之状态栏

    QStatusBar类提供一个水平条来显示状态信息.所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面.字数等等信息.状态信息可以分为三类:临时信息,如一般的提示信息:正常信 ...

  5. com.android.dex.DexException: Multiple dex files define(jar包重复引用) 错误解决

    前段时间开始转入Android studio,不料果真使用时候遇到些错误,在此记下! 出现这个错误往往是在libs目录下有个jar包,然后在gradle文件中又引用了,即: 共同引用了. 解决方法: ...

  6. 《java入门第一季》之面向对象(方法重写问题)

    方法重载的引入:根据一个案例: /* 继承中成员方法的关系: A:子类中的方法和父类中的方法声明不一样,这个太简单. B:子类中的方法和父类中的方法声明一样,这个该怎么玩呢? 通过子类对象调用方法: ...

  7. FFMPEG结构体分析:AVFormatContext

    注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...

  8. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  9. win32 线程通信初步

    // 线程通信机制.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #define NUM_THREADS 10 #include < ...

  10. Hbase节点管理

    1.退役节点 (1) shell>balance_switch false 然后,hbase-daemon.sh stop regionserver (2) graceful_stop.sh U ...