ホームページ > バックエンド開発 > PHPチュートリアル > Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

小云云
リリース: 2023-03-20 06:18:01
オリジナル
2353 人が閲覧しました

この記事では主に、Alibaba Cloud PHP SMS SMS サービスの確認コードを送信する方法を説明します。お役に立てれば幸いです。

SMS サービスをアクティブ化します

まず、この Web サイトにアクセスして、Alibaba Cloud の SMS テキスト メッセージ サービスをアクティブ化します: https://www.aliyun.com/product/sms?spm=5176.8142029.388261.295.vU5T5g

署名とテンプレートを作成します

使用するには SMS サービスを通常に使用するには、まず SMS サーバーで署名とテンプレートを作成し、レビューのために Alibaba Cloud に送信する必要があります。

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

署名を作成します

署名を作成するときは、署名の名前に注意してください。後は面倒ではありません。

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

署名名を覚えておいてください

ここで、作成した署名名を覚えておいてください。この名前は、後のコードで必要になります。

テンプレートを作成する

Alibaba Cloud には、テンプレートの作成方法も非常に簡単に記載されています。

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

テンプレートのコードを確認して覚えてください

コンソールに戻り、テンプレートが承認されると、0より大きい数字が表示されます。

この番号をクリックすると、テンプレート管理パネルに入り、テンプレートのコードが表示されるので、覚えておいてください。

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

KeyId と KeySecret を作成して覚えてください

コンソールに移動し、ユーザー名がある右上隅にマウスを置くと、accessKeySecret が表示されます。クリックすると、KeyId と KeySecret を作成できます。セキュリティ目的で RAM を使用する場合は、従業員にアクセス許可を割り当てるかどうかによって異なります。そうでない場合は、クリックして使用を続けます。

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

Alibaba Cloud SMS Server PHP-SDKをダウンロード

公式ダウンロードアドレス: https://help.aliyun.com/document_detail/55359.html?spm=5176.8195934.507901.12.b1ngGK
このチュートリアルSDKのダウンロードアドレスを使用します: http://pan.baidu.com/s/1bpF5B8z

キー: pult

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

PHP-SMSプロジェクトを作成します

コードファイルを作成します

コードファイルを作成してこれを配置しますファイルはダウンロードした SDK フォルダー内の api_sdk の aliyun-php-sdk-core ディレクトリに配置され、次のコードがコード ファイルに書き込まれます。

aliyun-php-sdk-coreディレクトリにはSMSテキストメッセージサービスのさまざまなモジュールが含まれているため、サービスを使用するにはここに配置する必要があります

<?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);//返回结果
ログイン後にコピー

Requsetに移動します

ダウンロードしたSDKフォルダのapi_sdkディレクトリにまだあります 次に、 Dysmsapi のフォルダーがあります。このフォルダーを開くと、「Put this Requests」というフォルダーが表示されます。フォルダーをコピーして aliyun-php-sdk-core に貼り付けます。正直に言うと、Alibaba Cloud がこのように SDK を個別にインストールする理由がわかりません。おそらく私の使い方が間違っているからです。それを理解できるマスターがいたら、アドバイスをお願いします。善良な人々が安全な生活を送れますように。
移動したら、RequestV20170525 ディレクトリにあるソース ファイル SendSmsRequest.php を開きます。最初の行のスペース名を無効にしてください。 つまり、この行の名前空間 DysmsapiReqestV20170525; 最終的な効果は次のとおりです

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

実行して試してください

Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法
Alibaba Cloud PHP SMS SMS サービス確認コードの送信方法

関連する推奨事項:

PHP を使用して SMS 確認コードを送信する方法

JSはテキストメッセージ認証コードを実装します

JSはユーザー登録時にSMS認証コードとカウントダウン機能を取得するためのサンプルコード共有を実装します

以上がAlibaba Cloud PHP SMS SMS サービス確認コードの送信方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート