苏州阿里云代理商:阿里云短信 类 php

以下是一个使用阿里云短信服务的PHP示例代码:

<?php
// 引入SDK
require_once 'aliyun-php-sdk-core/Config.php';
use DysmsapiRequestV20170525SendSmsRequest;
// 读取AccessKey配置
$accessKeyId = "your_access_key_id";
$accessKeySecret = "your_access_key_secret";
// 短信API产品名
$product = "Dysmsapi";
// 短信API产品域名
$domain = "dysmsapi.aliyuncs.com";
// 暂时不支持多Region
$region = "cn-hangzhou";
// 初始化client
$iClientProfile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
$client = new DefaultAcsClient($iClientProfile);
// 创建请求并设置参数
$request = new SendSmsRequest();
$request->setPhoneNumbers("18888888888"); // 接收短信的手机号码
$request->setSignName("阿里云短信测试专用"); // 短信签名
$request->setTemplateCode("SMS_123456789"); // 短信模板ID
$request->setTemplateParam("{"code":"123456"}"); // 短信模板中的变量替换JSON串
// 发起请求并处理响应
try {
    $response = $client->getAcsResponse($request);
    if ($response->Code == 'OK') { // 判断短信是否发送成功
        echo "短信发送成功!";
    } else {
        echo "短信发送失败,原因:" . $response->Message;
    }
} catch (Exception $e) {
    echo "短信发送异常,原因:" . $e->getMessage();
}
?>

请注意将示例代码中的”your_access_key_id”和”your_access_key_secret”替换为自己的阿里云AccessKey值。同时,将”18888888888″替换为接收短信的手机号码,”阿里云短信测试专用”替换为自己的短信签名,”SMS_123456789″替换为自己的短信模板ID。如果有变量替换的需求,可以修改”setTemplateParam”方法中的JSON串。

此代码使用阿里云短信服务提供的SDK发送短信,需要先下载并导入aliyun-php-sdk-core的库。代码中的API请求参数可以根据自己的需求进行修改。

以下是一个示例的苏州阿里云代理商可用的阿里云短信的PHP类:

<?php

class AliyunSms {
    private $accessKeyId;
    private $accessKeySecret;
    private $signName;
    private $templateCode;

    public function __construct($accessKeyId, $accessKeySecret, $signName, $templateCode) {
        $this->accessKeyId = $accessKeyId;
        $this->accessKeySecret = $accessKeySecret;
        $this->signName = $signName;
        $this->templateCode = $templateCode;
    }

    public function sendSms($mobile, $templateParam) {
        $params = array (
            'PhoneNumbers' => $mobile,
            'SignName' => $this->signName,
            'TemplateCode' => $this->templateCode,
            'TemplateParam' => json_encode($templateParam),
            'OutId' => time()
        );

        $params['RegionId'] = 'cn-hangzhou';
        $params['Action'] = 'SendSms';
        $params['Version'] = '2017-05-25';
        $params['AccessKeyId'] = $this->accessKeyId;
        $params['Format'] = 'JSON';
        $params['SignatureMethod'] = 'HMAC-SHA1';
        $params['Timestamp'] = gmdate('Y-m-dTH:i:sZ');
        $params['SignatureVersion'] = '1.0';
        $params['SignatureNonce'] = md5(uniqid(mt_rand(), true));
        ksort($params);

        $canonicalizedQueryString = '';
        foreach ($params as $key => $value) {
            $canonicalizedQueryString .= '&' . $this->percentEncode($key) . '=' . $this->percentEncode($value);
        }

        $stringToSign = 'GET&%2F&' . $this->percentEncode(substr($canonicalizedQueryString, 1));
        $signature = base64_encode(hash_hmac('sha1', $stringToSign, $this->accessKeySecret . '&', true));
        $params['Signature'] = $signature;

        $requestUrl = 'http://dysmsapi.aliyuncs.com/?' . http_build_query($params);

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $requestUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($ch);
        curl_close($ch);

        return json_decode($response, true);
    }

    private function percentEncode($value) {
        $percentEncode = urlencode($value);
        $percentEncode = str_replace('+', '%20', $percentEncode);
        $percentEncode = str_replace('*', '%2A', $percentEncode);
        $percentEncode = str_replace('%7E', '~', $percentEncode);
        return $percentEncode;
    }
}

使用示例:

苏州阿里云代理商:阿里云短信 类 php
// 实例化阿里云短信类
$sms = new AliyunSms('your_access_key_id', 'your_access_key_secret', 'your_sign_name', 'your_template_code');

// 发送短信
$mobile = '132xxxxxxxx';
$templateParam = array(
    'code' => '123456'
);
$response = $sms->sendSms($mobile, $templateParam);

// 打印发送结果
if ($response['Code'] == 'OK') {
    echo '短信发送成功';
} else {
    echo '短信发送失败:' . $response['Message'];
}

注意替换your_access_key_idyour_access_key_secretyour_sign_nameyour_template_code为自己的阿里云访问密钥、短信签名和短信模板编码。另外,若有需要,可以根据实际情况调整代码中的其他参数和配置。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/147212.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年2月15日 14:52
下一篇 2024年2月15日 15:04

相关推荐

  • 廊坊阿里云代理商:安全管理审计好用吗

    作为阿里云代理商,我们认为阿里云的安全管理审计是非常好用的。 阿里云的安全管理审计能够提供全面的云安全管理服务,帮助用户实时监控、管理和审计其云环境中的各种活动和操作。它能够对云服务器、云数据库、云网络等云资源进行审计,记录所有用户操作和系统事件,提供安全日志和审计报告等。 安全管理审计具有以下几个优点: 实时监控:安全审计能够实时监控云环境中的所有活动和操…

    2023年12月21日
    28400
  • 阿里云企业邮箱:怎样通过工具批量转移历史邮件?

    阿里云企业邮箱批量转移历史邮件的操作指南 随着企业信息化管理的逐步推进,越来越多的公司选择了阿里云企业邮箱来支持日常的通讯工作。阿里云企业邮箱不仅具备强大的邮件管理功能,还为用户提供了多种便捷的工具,帮助企业高效处理邮件数据,尤其是批量转移历史邮件这一操作,可以大大提高工作效率。本文将详细介绍如何通过阿里云企业邮箱的工具批量转移历史邮件,并结合阿里云企业邮箱…

    2025年4月24日
    15700
  • 阜宁阿里云代理商:阿里云云数据库RDS MySQL如何进行数据备份和恢复的性能优化?

    使用阿里云云数据库RDS MySQL的自动备份功能:阿里云云数据库RDS MySQL提供了自动备份功能,可以设置自动备份的时间和周期,以及备份保留的时间。通过开启自动备份功能,可以确保数据库定期进行备份,保证数据的安全性。 使用物理备份和逻辑备份同时进行数据备份:阿里云云数据库RDS MySQL提供了物理备份和逻辑备份两种备份方式,可以同时使用这两种备份方式…

    2023年11月14日
    28600
  • 阿里云的智能运维平台叫什么

    有人了解蚁巡运维平台吗?它有什么亮点?大神们帮帮忙 蚁巡运维平台是一台简单实用的运维设备,它的主要特性在于自动化、智能化,如自动发现设备、自动发现网络拓扑、方便的自动配置告警阈值等。同时,它是基于HTML5等前端技术研发的、具有良好交互效果与可展示性的界面也是产品一大亮点。另外,对监控国产软件和设备也是同类产品中最好的。麻烦采纳,谢谢! 广本飞度的平台叫什么…

    2023年8月25日
    32100
  • 阿里云人脸认证

    阿里云人脸认证是基于人脸识别技术和阿里云的智能计算平台提供的一种身份验证服务。通过人脸识别技术,可以对用户的面部特征进行提取和比对,从而实现对用户身份的验证。 阿里云人脸认证可以应用于多个领域,如实名认证、用户身份验证、门禁系统等。用户可以通过提交图片或者视频进行人脸认证,系统会对人脸进行分析和比对,判断是否匹配。 阿里云人脸认证的核心技术包括人脸检测、人脸…

    2023年8月22日
    32000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/