Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon d'envoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Explication détaillée de la façon d'envoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

coldplay.xixi
coldplay.xixiavant
2020-08-15 17:12:365204parcourir

Explication détaillée de la façon d'envoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Activer le service SMS

Allez d'abord sur ce site Web pour l'activer, le service de messagerie SMS d'Alibaba Cloud : https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g

Recommandations d'apprentissage associées : programmation php( Vidéo)

Créer des signatures et des modèles

Pour utiliser le serveur SMS, vous devez créer des signatures et les modèles d'abord et soumettez-les à Ce n'est qu'après avoir passé l'examen d'Alibaba Cloud que vous pourrez utiliser le service SMS normalement.

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Créer une signature

Lors de la création d'une signature, faites attention au nom de la signature et au le repos n'est pas encombrant.

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Mémorisez le nom de la signature

Veuillez vous souvenir du nom de la signature que vous avez créé maintenant, vous le verrez plus tard Doit être utilisé dans le code.

Créer un modèle

Créer un modèle est également très simple. Alibaba Cloud a clairement écrit comment le remplir.

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Afficher et mémoriser le modèle CODE

Revenir à votre console lorsque votre modèle est révisé Une fois passé , un nombre supérieur à 0 apparaîtra.

Cliquez sur ce numéro et vous entrerez dans le panneau de gestion des modèles et verrez votre CODE de modèle. Veuillez vous en souvenir.

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Créer et mémoriser KeyId et KeySecret

Accédez à la console, placez la souris dans le coin supérieur droit où se trouve votre nom d'utilisateur, et un accessKeySecret apparaîtra. Cliquez dessus pour créer KeyId et KeySecret. S'il vous rappelle d'utiliser la RAM pour des raisons de sécurité, voyez si. vous le souhaitez. Attribuez des autorisations à vos employés et utilisez la RAM si nécessaire, sinon cliquez simplement sur Continuer.

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Télécharger le PHP-SDK du serveur SMS Alibaba Cloud

Adresse de téléchargement officielle : https://help.aliyun. com/document_detail/55359.html?spm=5176.8195934.507901.12.b1ngGK
Ce tutoriel utilise l'adresse de téléchargement du SDK : http://pan.baidu.com/s/1bpF5B8z

Clé : pult

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Créer un projet PHP-SMS

Créer un fichier de code

Créez votre fichier de code, et placez ce fichier dans le répertoire api_sdk aliyun-php-sdk-core dans le dossier SDK que vous venez de télécharger, et écrivez le code suivant dans le fichier de code.

Le répertoire aliyun-php-sdk-core contient divers modules de service de messagerie texte SMS, il doit donc être placé ici pour utiliser le service

<?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);//返回结果

Déplacer into Requset

Toujours dans le répertoire api_sdk dans le dossier SDK téléchargé, il y a un dossier pour Dysmsapi. Lorsque vous ouvrez ce dossier, vous verrez un dossier appelé Request , mettez ce Reques. . Copiez et collez le dossier dans aliyun-php-sdk-core. Pour être honnête, je n'arrive pas à comprendre pourquoi Alibaba Cloud installe le SDK séparément comme ça. C'est peut-être parce que je l'utilise mal. S'il y a un maître qui peut le comprendre, donnez-moi quelques conseils. Les bonnes personnes peuvent mener une vie sûre.
Après avoir emménagé, ouvrez le fichier source SendSmsRequest.php dans le répertoire RequestV20170525. Veuillez désactiver la dénomination des espaces sur la première ligne. Autrement dit, cet espace de noms de ligne DysmsapiReqestV20170525 ; L'effet final est le suivant

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

Complet

Exécutez-le et essayez-le

Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS
Explication détaillée de la façon denvoyer le code de vérification pour le service Alibaba Cloud PHP SMS SMS

Recommandations d'apprentissage associées : Vidéo de programmation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer