Heim >Backend-Entwicklung >PHP-Tutorial >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.
Signatur erstellen
Signatur erstellen Achten Sie beim Schreiben auf den Signaturnamen, damit andere Wörter nicht umständlich sind.
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.
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.
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.
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
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.
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 '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);//返回结果
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
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!