<?php
/**
* Created by PhpStorm.
* User: JenCho
* Date: 2017/5/20
* Time: 15:57
*/
namespace Api\Controller;
ini_set("display_errors", "on");
require_once dirname(__DIR__) . '/vendor/php/api_sdk/vendor/autoload.php';
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();
use Think\Controller;
header("Access-Control-Allow-Origin:*");
class DeliveryController extends Controller
{
/**
* 短信发送
*/
public function sendmsg()
{
// $token = I('token');
// $function = __FUNCTION__;
// $status = $this->check_rule($token,$function);
// if($status === 0){
// echo 400;exit;
// }
// 此处需要替换成自己的AK信息
$accessKeyId = "XXXXX";//参考本文档步骤2
$accessKeySecret = "XXXX";//参考本文档步骤2
//短信API产品名(短信产品名固定,无需修改)
$product = "Dysmsapi";
//短信API产品域名(接口地址固定,无需修改)
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)
$region = "cn-hangzhou";
//初始化访问的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
// $request = new Dysmsapi\Request\V20170525\SendSmsRequest;
$request = new SendSmsRequest();
//必填-短信接收号码。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
$request->setPhoneNumbers("17713407350");
//必填-短信签名
$request->setSignName("短信签名");
//必填-短信模板Code
$request->setTemplateCode("SMS_95235033");
//选填-假如模板中存在变量需要替换则为必填(JSON格式),友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
$request->setTemplateParam("{\"name\":\"哈哈\",\"yewu\":\"嘻嘻\",\"time\":\"呵呵\"}");
//选填-发送短信流水号
$request->setOutId("1234");
//发起访问请求
// var_dump($request);exit;
$acsResponse = $acsClient->getAcsResponse($request);
}
/**
* Created by PhpStorm.
* User: JenCho
* Date: 2017/5/20
* Time: 15:57
*/
namespace Api\Controller;
ini_set("display_errors", "on");
require_once dirname(__DIR__) . '/vendor/php/api_sdk/vendor/autoload.php';
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();
use Think\Controller;
header("Access-Control-Allow-Origin:*");
class DeliveryController extends Controller
{
/**
* 短信发送
*/
public function sendmsg()
{
// $token = I('token');
// $function = __FUNCTION__;
// $status = $this->check_rule($token,$function);
// if($status === 0){
// echo 400;exit;
// }
// 此处需要替换成自己的AK信息
$accessKeyId = "XXXXX";//参考本文档步骤2
$accessKeySecret = "XXXX";//参考本文档步骤2
//短信API产品名(短信产品名固定,无需修改)
$product = "Dysmsapi";
//短信API产品域名(接口地址固定,无需修改)
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)
$region = "cn-hangzhou";
//初始化访问的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
// $request = new Dysmsapi\Request\V20170525\SendSmsRequest;
$request = new SendSmsRequest();
//必填-短信接收号码。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
$request->setPhoneNumbers("17713407350");
//必填-短信签名
$request->setSignName("短信签名");
//必填-短信模板Code
$request->setTemplateCode("SMS_95235033");
//选填-假如模板中存在变量需要替换则为必填(JSON格式),友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
$request->setTemplateParam("{\"name\":\"哈哈\",\"yewu\":\"嘻嘻\",\"time\":\"呵呵\"}");
//选填-发送短信流水号
$request->setOutId("1234");
//发起访问请求
// var_dump($request);exit;
$acsResponse = $acsClient->getAcsResponse($request);
}
}
https://pan.baidu.com/s/1jInEWiM sdk下载
本文介绍如何利用PHP集成阿里云SDK,实现短信通知功能。详细步骤包括阿里云SDK的下载、安装以及PHP代码实现短信发送的过程。

784

被折叠的 条评论
为什么被折叠?



