zoukankan      html  css  js  c++  java
  • 网站使用阿里大鱼(阿里大于)发送短信DEMO及步骤

    阿里大鱼的短息一条4分5,比起市场上7分5的短信,便宜多了,而且大平台,相信之后选择用它的人也会越来越多。

    --------以上为2016-04-16写这篇博客时的题记,今天是2017-07-18,时间过去了一年多,“阿里大鱼”也改成了“阿里大于”,而且由独立平台,集成到了阿里云旗下的控制中心,所以之前写的方法有些不太适用了,今天就重新整理一下,API开发不深入的讲,我只写最基础的集成,帮助各位看官快速的把阿里大于集成到你的网站,实现短信发送。

     (如果使用的是老账号,管理方式继续在阿里大于后台的,请移步到最下面,看老方法,依然有效。)

    1、登录阿里云平台(www.aliyun.com),在“产品与服务”中找到“短信服务”,进入并开通,如图

    2、开通后,新手一般送的有10元的短信券,供测试使用,有四个菜单,如下图

    3、首先,我们先配置下要发送的短信的签名、短信的内容格式、以及申请下AK(这里我们先做下这些准备工作,一共三步,然后再集成代码,当然你也可以先跳到下面去看集成代码,回头再来准备这三个东东)

    我们要发送的短信,举个栗子:【宕样】尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:13822223333

    a、签名,本例子的签名就是【宕样】

    点击上图左侧的“短信签名”,然后添加签名,添加的时候不用加中括号

    b、短信内容格式,本例子内容就是“尊敬的买家,您在宕样平台购买的神器已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:13822223333”

    点击上图左侧的“短信模板”,编辑如下:尊敬的买家,您在${webname}购买的${goodsname}已经上路了,请您保持电话畅通,如有问题,请联系我们,电话:${ourmobile}

    (可以看见有几个自定义的地方,没错,这就是自定义的,在集成代码的时候我们会进行替换它)

    c、AccessKeyId 与 AccessKeySecret是在哪里?

    可以通过阿里云控制台的秘钥管理界面进行创建、管理所有的访问秘钥对。右上角选中您的昵称——accesskeys创建即可

    4、以上三个东西准备好了,我们下面来集成代码

    在上图的最下面可以看到“接口调用”,随便点击一个,然后进入到帮助页面,找到“SDK及DEMO下载”,我用的是PHP

    文件清单:

    1. api_demo(短信服务API接口调用DEMO工程)
    2. api_sdk(短信服务API接口依赖的SDK)
    3. msg_demo(短信回执消息的DEMO)
    4. msg_sdk(短信回执消息的SDK)

    知道了这四个包都是干嘛的,我们本次的目的只是发送短信,所以,只取api_demoapi_sdk

    5、将上说的这俩包,进行一下整合注意,我们只要aliyun-php-sdk-core这一个包,而且名字不能改,然后把smsDemo.php,以及Request整个目录,拿到aliyun-php-sdk-core这个包的根目录里

    如下图大概说明:

    最终目录结构如图:

    把这个文件夹(aliyun-php-sdk-core)放到网站的任意位置,方便你的引用即可

    6、改配置

    需要配置的文件只有一个,那就是smsDemo.php,这里我对原函数sendSms()稍微做了下更改,使可以接受参数,针对上面的例子来说,此时函数是这样的:

    function sendSms($mobile, $webname,$goodsname,$ourmobile){

    //$mobile:接收短信的手机号

    ...

    }

    函数里面需要配置的如图所示:

    注意:上面的函数,最后一步是打印,可以注释掉,还有smsDemo.php最下面有个测试的函数调用,记得干掉:

    7、引用

    在需要用到发送短信的页面引用,比如我的文件包放在根目录下的data文件夹下,则引用为:

    require_once(dirname(__FILE__).'/data/aliyun-php-sdk-core/smsDemo.php');

    调用时,只需要:

    sendSms($mobile, $webname,$goodsname,$ourmobile);//这些参数这里可是要先赋值的

    注意事项:

    1、因为SDK使用了空间命名,所以PHP版本需要大于等于5.3,否则不支持就会报错

    2、暂未想到

    ------------------------------------------------------时间分割线,下面是之前的参考方法,适用于账号的管理平台是阿里大于的后台--------------------------------------------------------------------

    下面记述一下集成方法,有需要的可以看看。

    1、申请大鱼,用淘宝账号登陆,最好是认证过的淘宝号,网址http://www.alidayu.com/

    2、在大鱼管理中心的右上角头像旁边点击进入“开发者控制台”

    3、创建应用(阿里有更详细的说明:https://doc.alidayu.com/doc2/detail.htm?spm=0.0.0.0.4Ozcne&treeId=135&articleId=104431&docType=1)

    4、应用开发:https://doc.alidayu.com/doc2/detail.htm?spm=a3142.7629140.4.6.eIl0a8&treeId=135&articleId=104433&docType=1

    (以上步骤阿里大鱼帮助文档说明更详细)

    5、整合(这是重点),我用的PHP

    ------------------------------------------------------

    1、将下载的包解压后,重新命名,随意命名,放到网站的目录里,目录自己看着放,不用挑出来什么什么文件,整体就行,懒得搞,比如我的文件夹名称为alidayu

    2、某文件里写调用方法:

    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文档

    下载的文件没有需要配置的,只需要调用入口文件就行,注意文件的位子

    3、返回是true则发送成功,否则则失败。

  • 相关阅读:
    SGX技术初探
    DH 密钥交换算法
    SSM整合框架实现ajax校验
    为什么要重写toString()方法和hashcode()方法
    java数组实现简单的DVD管理
    java冒泡排序
    windows下java环境变量配置
    Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
    Eclipse SVN 冲突的 介绍 及 四种解决方式
    java中的重载(overload)和重写(override)区别
  • 原文地址:https://www.cnblogs.com/ss159/p/5399544.html
Copyright © 2011-2022 走看看