阿里大鱼的短息一条4分5,比起市场上7分5的短信,便宜多了,并且大平台,相信以后选择用它的人也会愈来愈多。php
--------以上为2016-04-16写这篇博客时的题记,今天是2017-07-18,时间过去了一年多,“阿里大鱼”也改为了“阿里大于”,并且由独立平台,集成到了阿里云旗下的控制中心,因此以前写的方法有些不太适用了,今天就从新整理一下,API开发不深刻的讲,我只写最基础的集成,帮助各位看官快速的把阿里大于集成到你的网站,实现短信发送。web
(若是使用的是老帐号,管理方式继续在阿里大于后台的,请移步到最下面,看老方法,依然有效。)api
一、登陆阿里云平台(www.aliyun.com),在“产品与服务”中找到“短信服务”,进入并开通,如图app
二、开通后,新手通常送的有10元的短信券,供测试使用,有四个菜单,以下图函数
三、首先,咱们先配置下要发送的短信的签名、短信的内容格式、以及申请下AK(这里咱们先作下这些准备工做,一共三步,而后再集成代码,固然你也能够先跳到下面去看集成代码,回头再来准备这三个东东)测试
咱们要发送的短信,举个栗子:【宕样】尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,若有问题,请联系咱们,电话:13822223333网站
a、签名,本例子的签名就是【宕样】ui
点击上图左侧的“短信签名”,而后添加签名,添加的时候不用加中括号阿里云
b、短信内容格式,本例子内容就是“尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,若有问题,请联系咱们,电话:13822223333”spa
点击上图左侧的“短信模板”,编辑以下:尊敬的买家,您在${webname}购买的${goodsname}已经上路了,请您保持电话畅通,若有问题,请联系咱们,电话:${ourmobile}
(能够看见有几个自定义的地方,没错,这就是自定义的,在集成代码的时候咱们会进行替换它)
c、AccessKeyId 与 AccessKeySecret是在哪里?
能够经过阿里云控制台的秘钥管理界面进行建立、管理全部的访问秘钥对。右上角选中您的昵称——accesskeys建立便可
四、以上三个东西准备好了,咱们下面来集成代码
在上图的最下面能够看到“接口调用”,随便点击一个,而后进入到帮助页面,找到“SDK及DEMO下载”,我用的是PHP
|
文件清单:
|
知道了这四个包都是干吗的,咱们本次的目的只是发送短信,因此,只取api_demo和api_sdk
五、将上说的这俩包,进行一下整合,注意,咱们只要aliyun-php-sdk-core这一个包,并且名字不能改,而后把smsDemo.php,以及Request整个目录,拿到aliyun-php-sdk-core这个包的根目录里
以下图大概说明:
最终目录结构如图:
把这个文件夹(aliyun-php-sdk-core)放到网站的任意位置,方便你的引用便可
六、改配置
须要配置的文件只有一个,那就是smsDemo.php,这里我对原函数sendSms()稍微作了下更改,使能够接受参数,针对上面的例子来讲,此时函数是这样的:
function sendSms($mobile, $webname,$goodsname,$ourmobile){
//$mobile:接收短信的手机号
...
}
函数里面须要配置的如图所示:
注意:上面的函数,最后一步是打印,能够注释掉,还有smsDemo.php最下面有个测试的函数调用,记得干掉:
七、引用
在须要用到发送短信的页面引用,好比个人文件包放在根目录下的data文件夹下,则引用为:
require_once(dirname(__FILE__).'/data/aliyun-php-sdk-core/smsDemo.php');
调用时,只须要:
sendSms($mobile, $webname,$goodsname,$ourmobile);//这些参数这里但是要先赋值的
注意事项:
一、由于SDK使用了空间命名,因此PHP版本须要大于等于5.3,不然不支持就会报错
二、暂未想到
------------------------------------------------------时间分割线,下面是以前的参考方法,适用于帐号的管理平台是阿里大于的后台--------------------------------------------------------------------
下面记述一下集成方法,有须要的能够看看。
一、申请大鱼,用淘宝帐号登录,最好是认证过的淘宝号,网址http://www.alidayu.com/
二、在大鱼管理中心的右上角头像旁边点击进入“开发者控制台”
三、建立应用(阿里有更详细的说明:https://doc.alidayu.com/doc2/detail.htm?spm=0.0.0.0.4Ozcne&treeId=135&articleId=104431&docType=1)
四、应用开发:https://doc.alidayu.com/doc2/detail.htm?spm=a3142.7629140.4.6.eIl0a8&treeId=135&articleId=104433&docType=1
(以上步骤阿里大鱼帮助文档说明更详细)
五、整合(这是重点),我用的PHP
------------------------------------------------------
一、将下载的包解压后,从新命名,随意命名,放到网站的目录里,目录本身看着放,不用挑出来什么什么文件,总体就行,懒得搞,好比个人文件夹名称为alidayu
二、某文件里写调用方法:
function sendSMS ($mobile, $content) { include "alidayu/TopSdk.php"; date_default_timezone_set('Asia/Shanghai'); $c = new TopClient; $c->appkey = "填写具体值"; $c->secretKey = "填写具体值,在控制台查看"; $req = new AlibabaAliqinFcSmsNumSendRequest; $req->setSmsType("normal"); $req->setSmsFreeSignName("注册验证"); $req->setSmsParam("{\"code\":\"".$content."\",\"product\":\"网站名字\"}"); $req->setRecNum($mobile); $req->setSmsTemplateCode("SMS_7785825"); $resp = $c->execute($req); //var_dump($resp); if($resp->result->success) { return true; } else { return false; } }
说明:
$content是要发送的验证码
网站名字根据须要来
这里只是一个发送注册验证码的案例,其中的参数是对应注册的,其余的请参考API文档
下载的文件没有须要配置的,只须要调用入口文件就行,注意文件的位子
三、返回是true则发送成功,不然则失败。