Heim > Artikel > Backend-Entwicklung > So senden Sie den Verifizierungscode für den SMS-Dienst Alibaba Cloud PHP SMS
In diesem Artikel erfahren Sie hauptsächlich, wie Sie den Verifizierungscode für den SMS-Dienst von Alibaba Cloud senden.
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
Signaturen und Vorlagen erstellen
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
Achten Sie beim Erstellen einer Signatur auf den Signaturnamen, der Rest ist nicht umständlich.
Merken Sie sich den Signaturnamen
Merken Sie sich jetzt bitte den von Ihnen erstellten Signaturnamen, Sie werden ihn später im Code benötigen.
Eine Vorlage erstellen
Das Erstellen einer Vorlage ist ebenfalls sehr einfach. Alibaba Cloud hat klar beschrieben, wie man sie ausfüllt.
Überprüfen und merken Sie sich den Vorlagen-CODE
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 sich die KeyId und das KeySecret
Gehen Sie zur Konsole und platzieren Sie Ihre Maus in der oberen rechten Ecke Der Name Ihres Benutzers enthält ein accessKeySecret, und Sie können KeyId und KeySecret erstellen, indem Sie darauf klicken. Wenn es Sie daran erinnert, RAM aus Sicherheitsgründen zu verwenden, können Sie sehen, ob Sie Ihren Mitarbeitern Berechtigungen zuweisen möchten Verwenden Sie also RAM, andernfalls klicken Sie einfach darauf. Verwenden Sie es einfach weiter.
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
Schlüssel: pult
PHP-SMS-Projekt erstellen
Codedatei erstellen
Erstellen Sie Ihre Codedatei und legen Sie diese Datei im api_sdk ab Schreiben Sie im Verzeichnis aliyun-php-sdk-core im SDK-Ordner, den Sie gerade heruntergeladen haben, den folgenden Code in die Codedatei.
Das Verzeichnis aliyun-php-sdk-core enthält verschiedene Module des SMS-Textnachrichtendienstes, daher müssen sie 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
Noch im Verzeichnis api_sdk im heruntergeladenen SDK-Ordner gibt es einen Ordner für Dysmsapi. Wenn Sie diesen Ordner öffnen, sehen Sie einen Ordner namens „Request“. 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, dieser Zeilennamespace DysmsapiReqestV20170525; Der endgültige Effekt 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; } }
Vollständig
Führen Sie es aus und probieren Sie es aus
Verwandte Empfehlungen:
So verwenden Sie PHP zum Senden eines SMS-Verifizierungscodes
JS zur Implementierung der SMS-Verifizierung Code
Das obige ist der detaillierte Inhalt vonSo senden Sie den Verifizierungscode für den SMS-Dienst Alibaba Cloud PHP SMS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!