Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erklärung zum Senden eines Bestätigungscodes für den SMS-SMS-Dienst Alibaba Cloud PHP

Ausführliche Erklärung zum Senden eines Bestätigungscodes für den SMS-SMS-Dienst Alibaba Cloud PHP

coldplay.xixi
coldplay.xixinach vorne
2020-08-15 17:12:365388Durchsuche

Ausführliche Erklärung zum Senden eines Bestätigungscodes für den SMS-SMS-Dienst Alibaba Cloud PHP span>

SMS-Dienst aktivieren

Besuchen Sie zunächst diese Website, um den SMS-Textnachrichtendienst von Alibaba Cloud zu aktivieren : https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g

Verwandte Lernempfehlungen: PHP-Programmierung (Video)

Erstellen Signatur, Vorlage

Um den SMS-Server zu verwenden, müssen Sie zunächst eine Signatur und eine Vorlage erstellen und diese zur Überprüfung an Alibaba Cloud senden, bevor Sie den SMS-Dienst normal nutzen können.

Bildbeschreibung hier schreiben

Signatur erstellen

Signatur erstellen Achten Sie beim Schreiben auf den Signaturnamen, damit andere Wörter nicht umständlich sind.

Bildbeschreibung hier schreiben

Signaturnamen merken

Jetzt Merken Sie sich den Signaturnamen, den Sie erstellt haben. Sie benötigen ihn später in Ihrem Code.

Eine Vorlage erstellen

Das Erstellen einer Vorlage ist ebenfalls sehr einfach. Alibaba Cloud hat beschrieben, wie es geht Füllen Sie es aus. Verstanden.

Bildbeschreibung hier schreiben

Vorlagen-CODE anzeigen und merken

Kehren Sie zu Ihrer Konsole zurück. Wenn Ihre Vorlage genehmigt wurde, wird eine Zahl größer als 0 angezeigt.

Klicken Sie auf diese Nummer und Sie gelangen in das Vorlagenverwaltungsfenster und sehen Ihren Vorlagen-CODE. Bitte merken Sie sich diesen.

Bildbeschreibung hier schreiben

 Schreiben Sie hier die Bildbeschreibung

Erstellen und merken Sie KeyId und KeySecret

Gehen Sie zur Konsole und platzieren Sie die Maus in der oberen rechten Ecke, wo Ihr Benutzername angezeigt wird . Sie können KeyId und KeySecret erstellen, indem Sie auf ein accessKeySecret klicken, um es aus Sicherheitsgründen zu verwenden. Wenn ja, klicken Sie einfach darauf, um es weiter zu verwenden.

Bildbeschreibung hier schreiben

Bildbeschreibung hier schreiben

Alibaba Cloud SMS Server PHP-SDK herunterladen

Offizielle Download-Adresse :https://help.aliyun.com/document_detail/55359.html?spm=5176.8195934.507901.12.b1ngGK
Dieses Tutorial verwendet die SDK-Download-Adresse: http://pan.baidu.com/s/1bpF5B8z

Taste: pult

Bildbeschreibung hier schreiben

PHP-SMS-Projekt erstellen

Codedatei erstellen

Erstellen Sie Ihre Codedatei, legen Sie diese Datei im Verzeichnis api_sdk aliyun-php-sdk-core im SDK-Ordner ab, den Sie gerade heruntergeladen haben, und schreiben Sie den folgenden Code in die Codedatei.

Das Verzeichnis

aliyun-php-sdk-core enthält verschiedene Module des SMS-Textnachrichtendienstes, daher muss es hier abgelegt werden, um den Dienst nutzen zu können

<?php
  include &#39;Config.php&#39;;
  include_once &#39;Request/V20170525/SendSmsRequest.php&#39;;
  include_once &#39;Request/V20170525/QuerySendDetailsRequest.php&#39;;
  $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);//返回结果

In Requset verschieben

Immer noch im Verzeichnis api_sdk im heruntergeladenen SDK-Ordner befindet sich ein Ordner für Dysmsapi. Öffnen Sie diesen Ordner und er wird angezeigt. Wenn Sie a sehen Ordner namens Request, legen Sie diese Requests ab. Kopieren Sie den Ordner und fügen Sie ihn in aliyun-php-sdk-core ein. Ehrlich gesagt kann ich nicht herausfinden, warum Alibaba Cloud das SDK auf diese Weise separat installiert. Vielleicht liegt es daran, dass ich es falsch verwende. Wenn es einen Meister gibt, der das herausfinden kann, geben Sie mir bitte einen Rat. Mögen gute Menschen ein sicheres Leben führen.
Öffnen Sie nach dem Einzug die Quelldatei SendSmsRequest.php im Verzeichnis RequestV20170525. Bitte deaktivieren Sie die Leerzeichenbenennung in der ersten Zeile. Das heißt, der endgültige Effekt dieses Zeilen-Namespace DysmsapiReqestV20170525; ist wie folgt

<?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;
  }
}

Complete

Führen Sie es aus und probieren Sie es aus

Bildbeschreibung hier schreiben
Ausführliche Erklärung zum Senden eines Bestätigungscodes für den SMS-SMS-Dienst Alibaba Cloud PHP

Verwandte Lernempfehlungen: Programmiervideo

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Senden eines Bestätigungscodes für den SMS-SMS-Dienst Alibaba Cloud PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen