全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

阿里云PHP SMS短信服务验证码发送方法

开通SMS服务

首先去这个网站开通阿里云的SMS短信服务:https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g

创建签名、模板

要使用短信服务器需要先创建签名和模板,并提交给阿里云审核通过才可以正常使用短信服务。

创建签名

创建签名的时候注意一下签名名称,其他的话就不累赘了。

记住签名名称

现在请记住你创建的签名名称,一会在代码中需要使用。

创建模板

创建模板也很简单,阿里云已经把要如何填写写的很清楚了。

查看并记住模板CODE

返回你的控制台,当你的模板审核通过时这就会出现大于0的数。

点击这个数,会进入模板管理面板就能看到你的模板CODE了,请记住他。

创建并记住KeyId和KeySecret

到控制台,把鼠标放到右上角你的用户名的位置会出现一个accessKeySecret点进去就可以创建KeyId和KeySecret了,如果他提醒你用RAM安全什么的,你看你要不要给你的员工分配权限,如果要的话就用RAM,否则就直接点击继续使用就行了。

下载阿里云短信服务器PHP-SDK

官方下载地址:https://help.aliyun.com/document_detail/55359.html?spm=5176.8195934.507901.12.b1ngGK
本教程使用SDK下载地址:http://pan.baidu.com/s/1bpF5B8z

密匙:pult

创建PHP-SMS项目

创建代码文件

创建你的代码文件,并把这个文件放在刚才下载的SDK文件夹中的api_sdk的aliyun-php-sdk-core目录下,并把一下代码写入代码文件。

aliyun-php-sdk-core目录里包含了SMS短信服务的各种模块,所以必须得放在这里面才能使用服务

<?php
  include 'Config.php';
  include_once 'Request/V20170525/SendSmsRequest.php';
  include_once 'Request/V20170525/QuerySendDetailsRequest.php';
  $accessKeyId = "LTAIvAaNs61JeBiN";
//阿里云KeyId 
  $accessKeySecret = "Y3H7durYJ6GIqmJJrsdbJwPi6E8O8M";
//阿里云KeySecret
  //短信API产品名
  $product = "Dysmsapi";
//照写就行了
  //短信API产品域名
  $domain = "dysmsapi.aliyuncs.com";
//照着写就行了
  //暂时不支持多Region
  $region = "cn-hangzhou";
//照着写就行了
  //初始化访问的acsCleint
  $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
  DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
  $acsClient= new DefaultAcsClient($profile);
  $request = new SendSmsRequest;
  //必填-短信接收号码。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
  $request->setPhoneNumbers("123456789");
//这里填你要发送的电话号码
  //必填-短信签名
  $request->setSignName("xx项目");
//这里就是刚才让你记住的项目签名
  //必填-短信模板Code
  $request->setTemplateCode("SMS_123456");
//这里就是模板CODE
  //选填-假如模板中存在变量需要替换则为必填(JSON格式)
  $request->setTemplateParam("{\"name\":\"郭涛\",\"number\":\"316\"}");
  //选填-发送短信流水号
  $request->setOutId("1234");//照填就行了
  //发起访问请求
  $acsResponse = $acsClient->getAcsResponse($request);
   var_dump($acsResponse);//返回结果

移入Requset

还是在下载的SDK文件夹中的api_sdk目录下,有一个交Dysmsapi的文件夹,打开这个文件夹就会看到一个叫Request的文件夹,把这个Reques。的件夹复制粘贴到aliyun-php-sdk-core里面。说实在的我搞不清阿里云这个为什么要这样分开装SDK,可能是我使用的姿势不对吧,如果有大神搞得清,还劳烦赐教小弟,好人一生平安。
移入后,打开Request\V20170525目录里有一个SendSmsRequest.php的源文件。请屏蔽第一行的空间命名。 也就是这一行namespace Dysmsapi\Reqest\V20170525;最后效果如下

<?php
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
//namespace Dysmsapi\Request\V20170525;//就是屏蔽这一行代码!!!!
class SendSmsRequest extends \RpcAcsRequest
{
  function __construct()
  {
    parent::__construct("Dysmsapi", "2017-05-25", "SendSms");
  }
  private $outId;
  private $signName;
  private $ownerId;
  private $resourceOwnerId;
  private $templateCode;
  private $phoneNumbers;
  private $resourceOwnerAccount;
  private $templateParam;
  public function getOutId() {
    return $this->outId;
  }
  public function setOutId($outId) {
    $this->outId = $outId;
    $this->queryParameters["OutId"]=$outId;
  }
  public function getSignName() {
    return $this->signName;
  }
  public function setSignName($signName) {
    $this->signName = $signName;
    $this->queryParameters["SignName"]=$signName;
  }
  public function getOwnerId() {
    return $this->ownerId;
  }
  public function setOwnerId($ownerId) {
    $this->ownerId = $ownerId;
    $this->queryParameters["OwnerId"]=$ownerId;
  }
  public function getResourceOwnerId() {
    return $this->resourceOwnerId;
  }
  public function setResourceOwnerId($resourceOwnerId) {
    $this->resourceOwnerId = $resourceOwnerId;
    $this->queryParameters["ResourceOwnerId"]=$resourceOwnerId;
  }
  public function getTemplateCode() {
    return $this->templateCode;
  }
  public function setTemplateCode($templateCode) {
    $this->templateCode = $templateCode;
    $this->queryParameters["TemplateCode"]=$templateCode;
  }
  public function getPhoneNumbers() {
    return $this->phoneNumbers;
  }
  public function setPhoneNumbers($phoneNumbers) {
    $this->phoneNumbers = $phoneNumbers;
    $this->queryParameters["PhoneNumbers"]=$phoneNumbers;
  }
  public function getResourceOwnerAccount() {
    return $this->resourceOwnerAccount;
  }
  public function setResourceOwnerAccount($resourceOwnerAccount) {
    $this->resourceOwnerAccount = $resourceOwnerAccount;
    $this->queryParameters["ResourceOwnerAccount"]=$resourceOwnerAccount;
  }
  public function getTemplateParam() {
    return $this->templateParam;
  }
  public function setTemplateParam($templateParam) {
    $this->templateParam = $templateParam;
    $this->queryParameters["TemplateParam"]=$templateParam;
  }
}

完成

运行试试吧

 

以上所述是小编给大家介绍的阿里云PHP SMS短信服务验证码发送方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# 阿里云  # 短信服务  # php  # 短信服务验证码  # 阿里云服务器ping不通解决办法(云服务器搭建完环境访问不了ip解决办法)  # 阿里云LNMP 云服务器重启后网站打不开解决方法  # 阿里云linux服务器下安装Apache的简单方法  # 阿里云主机Windows 2008服务器硬盘分区和格式化图文教程  # 阿里云云服务器Windows 2008下IIS添加网站绑定域名图文教程  # 阿里云云服务器Windows 2008中的FTP配置图文教程  # 阿里云服务器CentOS服务器初始化设置步骤  # Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)  # 阿里云centos7服务器搭建nginx web服务经验示例  # 搭建阿里云ecs服务器之安装图形化界面的方法  # 阿里云服务器实现域名解析步骤(小白教程)  # .net core 使用阿里云分布式日志的配置方法  # 阿里云日志服务日志过滤器配置  # 必填  # 就行了  # 放在  # 你要  # 下载地址  # 请记住  # 验证码  # 并把  # 小编  # 这一行  # 有一个  # 单条  # 就会  # 让你  # 目录下  # 鼠标  # 就能  # 夹中  # 在此 


相关文章: 高端云建站费用究竟需要多少预算?  如何通过二级域名建站提升品牌影响力?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何构建满足综合性能需求的优质建站方案?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星安装提示数据库无法连接如何解决?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何在自有机房高效搭建专业网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  ,如何利用word制作宣传手册?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  制作农业网站的软件,比较好的农业网站推荐一下?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何在阿里云ECS服务器部署织梦CMS网站?  如何挑选优质建站一级代理提升网站排名?  建站主机数据库如何配置才能提升网站性能?  微信小程序 五星评分(包括半颗星评分)实例代码  如何基于PHP生成高效IDC网络公司建站源码?  建站主机功能解析:服务器选择与快速搭建指南  ,怎么在广州志愿者网站注册?  建站之星×万网:智能建站系统+自助建站平台一键生成  佛山企业网站制作公司有哪些,沟通100网上服务官网?  临沂网站制作公司有哪些,临沂第四中学官网?  如何高效完成自助建站业务培训?  如何在IIS中新建站点并解决端口绑定冲突?  建站之星如何取消后台验证码生成?  制作网站的模板软件,网站怎么建设?  制作公司内部网站有哪些,内网如何建网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站之星安装路径如何正确选择及配置?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  小程序网站制作需要准备什么资料,如何制作小程序?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何配置IIS站点权限与局域网访问?  IOS倒计时设置UIButton标题title的抖动问题  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何选择可靠的免备案建站服务器?  如何在阿里云域名上完成建站全流程?  如何高效配置IIS服务器搭建网站?  小型网站制作HTML,*游戏网站怎么搭建?  建站之星官网登录失败?如何快速解决?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  建站之星安装失败:服务器环境不兼容?  如何注册花生壳免费域名并搭建个人网站?  如何基于云服务器快速搭建网站及云盘系统? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。