Cet article explique principalement comment envoyer le code de vérification du service Alibaba Cloud PHP SMS. J'espère qu'il pourra vous aider.
Activer le service SMS
Allez d'abord sur ce site Web pour activer le service de messagerie texte SMS d'Alibaba Cloud : https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g
Créer des signatures et des modèles
Pour utiliser le serveur SMS, vous devez d'abord créer une signature et un modèle et les soumettre à Alibaba Cloud pour examen avant de pouvoir utiliser le service SMS normalement.
Créer une signature
Lors de la création d'une signature, faites attention au nom de la signature, et le reste n'est pas encombrant.
Mémorisez le nom de la signature
Veuillez vous rappeler du nom de la signature que vous avez créé maintenant, vous en aurez besoin plus tard 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.
Vérifiez et mémorisez le modèle CODE
Retournez sur votre console Lorsque votre modèle est approuvé, 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.
Créez et mémorisez le KeyId et le KeySecret
Allez sur la console et placez votre souris dans le coin supérieur droit de votre utilisateur Il y aura un accessKeySecret dans le nom, et vous pourrez créer KeyId et KeySecret en cliquant dessus. Si cela vous rappelle d'utiliser la RAM pour la sécurité, voyez si vous souhaitez attribuer des autorisations à vos employés. Si tel est le cas, utilisez la RAM. , sinon cliquez simplement dessus.
Télécharger le PHP-SDK du serveur Alibaba Cloud SMS
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
Créer un projet PHP-SMS
Créer un fichier de code
Créez votre fichier de code et mettez ce fichier Dans l'api_sdk Répertoire aliyun-php-sdk-core dans le dossier SDK que vous venez de télécharger, écrivez le code suivant dans le fichier de code.
Le répertoire aliyun-php-sdk-core contient divers modules du service de messagerie texte SMS, ils doivent donc être placés ici pour utiliser le service
<?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);//返回结果
Déplacer dans Requset
Toujours dans le répertoire api_sdk du dossier SDK téléchargé, il y a un dossier pour Dysmsapi. Lorsque vous ouvrez ce dossier, vous verrez un dossier appelé Request Put this Requests. 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. Que les bonnes personnes vivent en sécurité.
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
Recommandations associées :
Comment utiliser php pour envoyer un code de vérification par SMS
JS pour mettre en œuvre la vérification par SMS code
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!