tpshop 阿里云短信sdk使用

  • 创建keyId 和 keysecret,下载sdk
    先去阿里云申请账号(后台地址: https://www.aliyun.com/ , 注意不是阿里大于短信平台),登入控制台,创建得到keyId 和 keysecret.从阿里云短信官网下载SDK(https://help.aliyun.com/document_detail/32381.html?spm=5176.doc51929.6.669.NaKJRQ)本人使用的版本是Version 1.3.5更新日期是2017-06-06 将SDK放到thinkphp框架的vendor目录下, 如下图:
  • 申请短信模板及其签名
    测试好几次发现模板的参数值不能带“.”,刚开始没收到短信还以为调用sdk的问题,折腾了一天才发现是换个模板就好了
  • 发送短信类
    \Application\Common\Util\PublishBatchSMSMessageDemo.class.php
    以下代码分别修改

    • YourMNSEndpoint
    • YourAccessId
    • YourAccessKey
    • YourTopicName
    • YourSMSSignName
    • YourSMSTemplateCode
    • YourSMSTemplateParamKey1
<?php
namespace Common\Util;
require_once('/ThinkPHP/Library/Vendor/mns-autoloader.php');
use AliyunMNS\Client;
use AliyunMNS\Topic;
use AliyunMNS\Constants;
use AliyunMNS\Model\MailAttributes;
use AliyunMNS\Model\SmsAttributes;
use AliyunMNS\Model\BatchSmsAttributes;
use AliyunMNS\Model\MessageAttributes;
use AliyunMNS\Exception\MnsException;
use AliyunMNS\Requests\PublishMessageRequest;
class PublishBatchSMSMessageDemo
{public function run($mobilephone,$sendurl){/*** Step 1. 初始化Client*/$this->endPoint = "YourMNSEndpoint"; // eg. http://1234567890123456.mns.cn-shenzhen.aliyuncs.com$this->accessId = "YourAccessId";$this->accessKey = "YourAccessKey";$this->client = new Client($this->endPoint, $this->accessId, $this->accessKey);/*** Step 2. 获取主题引用*/$topicName = "YourTopicName";$topic = $this->client->getTopicRef($topicName);/*** Step 3. 生成SMS消息属性*/// 3.1 设置发送短信的签名(SMSSignName)和模板(SMSTemplateCode)$batchSmsAttributes = new BatchSmsAttributes("YourSMSSignName", "YourSMSTemplateCode");// 3.2 (如果在短信模板中定义了参数)指定短信模板中对应参数的值$batchSmsAttributes->addReceiver($mobilephone, array("YourSMSTemplateParamKey1" => $sendurl));// $batchSmsAttributes->addReceiver("YourReceiverPhoneNumber2", array("YourSMSTemplateParamKey1" => "value1"));$messageAttributes = new MessageAttributes(array($batchSmsAttributes));/*** Step 4. 设置SMS消息体(必须)** 注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。*/$messageBody = "smsmessage";/*** Step 5. 发布SMS消息*/$request = new PublishMessageRequest($messageBody, $messageAttributes);try{$res = $topic->publishMessage($request);echo $res->isSucceed();echo "\n";echo $res->getMessageId();echo "\n";}catch (MnsException $e){echo $e;echo "\n";}}
}
?>
  • Controller里面调用发送短信类
function testsms(){ $instance = new \Common\Util\PublishBatchSMSMessageDemo();$instance->run("13810545296","Public/Uploads/Phototouch/0MmJRb5ZmT5z7HLnSYYc/tour.html");}

tpshop 阿里云短信sdk使用和带链接短信实现相关推荐

  1. 阿里云直播PHP SDK如何使用

    前一篇聊了聊关于阿里云直播,如何进行进行调试,ok,那这篇我们就聊一聊关于阿里云直播的SDK(当然是关于PHP的),基于下面的原因: 1.直播云没有单独的SDK,直播部分的SDK是直接封装在CDN的相 ...

  2. vue给div绑定keyup的enter事件实现接电话(结合阿里云软电话SDK)

    摘要:之前我们的接入的阿里云软电话SDK的功能,现在有个新的需求就是我们自己的弹窗中添加一个按钮可以接听电话,同时可以按键盘的Enter键接电话.(这里的很多废话,是为了记录当时想的逻辑) 实现思路: ...

  3. 前端接入阿里云外呼SDK

    最近项目中需要使用到阿里云的外呼拨打电话功能,由前端直接接入阿里云呼的SDK.使用起来也比较简单,不过还是有一些问题需要注意一下.下面就直接上代码说一下具体是怎么接入的. 引入阿里云呼SDK 他们的s ...

  4. 【阿里云服务器Ubuntu数据库MongoDB设置远程链接】

    阿里云服务器Ubuntu数据库MongoDB设置远程链接 配置mongodb.conf文件 阿里云服务器开放端口 远程链接测试 紧跟上一篇,进行MongoDB数据库的远程链接配置,并使用本地机器进行链 ...

  5. 修改串口设备名ttymxc1_ESP8266接入阿里云——基于官方SDK接入阿里云串口获取云下发数据...

    作者:电子快递哥 日期:于2020年3月18日 有态度,有温度,欢迎关注电子快递哥,转载请注明出处, ESP8266接入阿里云 --之一基于官方SDK接入阿里云串口获取云下发数据 一.获取阿里云IoT ...

  6. esp8266 阿里云 arduino_ESP8266接入阿里云——基于官方SDK接入阿里云串口获取云下发数据...

    作者:电子快递哥 日期:于2020年3月18日 有态度,有温度,欢迎关注电子快递哥,转载请注明出处, ESP8266接入阿里云 --之一基于官方SDK接入阿里云串口获取云下发数据 一.获取阿里云IoT ...

  7. 阿里云视频点播服务SDK的使用,视频文件上传测试

    文章目录 阿里云视频点播技术简介 一.阿里云视频点播技术能力盘点 1.应用场景 2.功能介绍 二.开通视频点播云平台 1.选择视频点播服务 2.开通视频点播 3.选择按使用流量计费 4.资费说明 5. ...

  8. 阿里云推送 SDK iOS 端 配置

    阿里云 SDK 配置 请依官方为主,毕竟已经很详细了 https://help.aliyun.com/document_detail/30072.html?spm=5176.doc30071.6.64 ...

  9. 阿里云语音电话的sdk的调用实例

    /*** 语音呼叫** @return* @throws ClientException /http/RealTimeInfo/Call.json*/public RetObj doCall() th ...

最新文章

  1. java实现ad域登陆验证
  2. django-重写登录认证(可以使用用户名或手机号登录)
  3. 苍天饶过谁?| 今日最佳
  4. php中什么时候用传值,php中传值与传引用的区别。什么时候传值什么时候传引用?...
  5. linux 修改Db2主机名,对DB2服务器主机名的修改的正确操作流程
  6. 【Hadoop】MapReduce
  7. [置顶]常用存储过程集锦
  8. 凯迪拉克故障u1510案例_凯迪拉克XTS变速箱维修,无倒挡故障,自动变速箱维修案例...
  9. nginx模块开发 c语言,Nginx模块开发 – C++模块
  10. vs调试时查看指针指向的内存区域的内容
  11. springboot 集成quartz带数据库持久化
  12. 【06月25日】指数估值排名
  13. 服务器传奇网站搭建修改教程,传奇架设教程如何修改爆率
  14. Python argparse.ArgumentParser的add_argument()用法
  15. idea之自定义注释模板
  16. 成功解决:Updates were rejected because the tip of your current branch is behind its remote...【解决方法】
  17. Polymorphic 梦里花落知多少
  18. 【Alpha阶段】第二次Scrum Meeting
  19. 最大报销额java_何为字节码?采用字节码的最大好处是什么?_学小易找答案
  20. dedecms修改文章ID_织梦DEDECMS系统修改文章ID的方法

热门文章

  1. MySQL保存特殊字符及表情符
  2. 8款炫酷的HTML5特效源码
  3. Exiting intel PXE ROM.Operating system not found
  4. JVM-04-运行时数据区-堆,方法区
  5. 钛媒体乌镇咖荟 | 数字化改变以流量为核心的平台生态,系统性思维的价值开始显现...
  6. PHP合并多个PDF文件
  7. 分享一个简单的迭代学习机器人双臂控制(MATLAB)
  8. python实现非标准正态分布下概率密度有关计算
  9. 力扣(LeetCode)刷题笔记
  10. Apple ID 登录