• 首页   /  職場   /  
  • 開通SMS服務

    首先去這個網站開通X雲的SMS短信服務:https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g

    相關學習推薦:php編程(視頻)

    創建簽名、模板


    要使用短信服務器需要先創建簽名和模板,並提交給X雲審核通過才可以正常使用短信服務。

    這裡寫圖片描述

    創建簽名

    創建簽名的時候注意一下簽名名稱,其他的話就不累贅了。

    這裡寫圖片描述

    記住簽名名稱

    現在請記住你創建的簽名名稱,一會在代碼中需要使用。

    創建模板

    創建模板也很簡單,X雲已經把要如何填寫寫的很清楚了。

    這裡寫圖片描述

    查看並記住模板CODE

    返回你的控制台,當你的模板審核通過時這就會出現大於0的數。

    點擊這個數,會進入模板管理面板就能看到你的模板CODE了,請記住他。

    這裡寫圖片描述

    這裡寫圖片描述

    創建並記住KeyId和KeySecret

    到控制台,把鼠標放到右上角你的用戶名的位置會出現一個accessKeySecret點進去就可以創建KeyId和KeySecret了,如果他提醒你用RAM安全什麼的,你看你要不要給你的員工分配權限,如果要的話就用RAM,否則就直接點擊繼續使用就行了。

    這裡寫圖片描述

    這裡寫圖片描述

    下載X雲短信服務器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";
    //X雲KeyId 
      $accessKeySecret = "Y3H7durYJ6GIqmJJrsdbJwPi6E8O8M";
    //X雲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裡面。說實在的我搞不清X雲這個為什麼要這樣分開裝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
    {
      functiоn __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 functiоn getOutId() {
        return $this->outId;
      }
      public functiоn setOutId($outId) {
        $this->outId = $outId;
        $this->queryParameters["OutId"]=$outId;
      }
      public functiоn getSignName() {
        return $this->signName;
      }
      public functiоn setSignName($signName) {
        $this->signName = $signName;
        $this->queryParameters["SignName"]=$signName;
      }
      public functiоn getOwnerId() {
        return $this->ownerId;
      }
      public functiоn setOwnerId($ownerId) {
        $this->ownerId = $ownerId;
        $this->queryParameters["OwnerId"]=$ownerId;
      }
      public functiоn getResourceOwnerId() {
        return $this->resourceOwnerId;
      }
      public functiоn setResourceOwnerId($resourceOwnerId) {
        $this->resourceOwnerId = $resourceOwnerId;
        $this->queryParameters["ResourceOwnerId"]=$resourceOwnerId;
      }
      public functiоn getTemplateCode() {
        return $this->templateCode;
      }
      public functiоn setTemplateCode($templateCode) {
        $this->templateCode = $templateCode;
        $this->queryParameters["TemplateCode"]=$templateCode;
      }
      public functiоn getPhoneNumbers() {
        return $this->phoneNumbers;
      }
      public functiоn setPhoneNumbers($phoneNumbers) {
        $this->phoneNumbers = $phoneNumbers;
        $this->queryParameters["PhoneNumbers"]=$phoneNumbers;
      }
      public functiоn getResourceOwnerAccount() {
        return $this->resourceOwnerAccount;
      }
      public functiоn setResourceOwnerAccount($resourceOwnerAccount) {
        $this->resourceOwnerAccount = $resourceOwnerAccount;
        $this->queryParameters["ResourceOwnerAccount"]=$resourceOwnerAccount;
      }
      public functiоn getTemplateParam() {
        return $this->templateParam;
      }
      public functiоn setTemplateParam($templateParam) {
        $this->templateParam = $templateParam;
        $this->queryParameters["TemplateParam"]=$templateParam;
      }
    }

    完成

    運行試試吧

    這裡寫圖片描述
    這裡寫圖片描述

    相關學習推薦:編程視頻

    以上就是X雲PHP SMS短信服務驗證碼發送方法詳解的詳細內容!


    ————————————————