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.
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.
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.
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.
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.
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
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 '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 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
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!