PHP 调用摩杜云短信API接口发送短信

本文介绍了如何使用PHP调用摩杜云的短信API接口,包括注册账号、获取accesskey和secretkey的步骤,以及展示了相关的代码实现文件如SmsSenderDemo.php、SmsSenderUtil.php和SmsSingleSender.php,旨在实现验证码、短信通知和推广短信的快速发送,服务覆盖全球200多个国家,具有高到达率。
摘要由CSDN通过智能技术生成

摩杜云支持国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。完美支撑8亿短信发送。

1.当然是到摩杜云注册个账号。

2.登录后台右上角点击accesskey进去创建accesskey、secretkey。

3.代码实现。

SmsSenderDemo.php

<?php

namespace Moduyun\Sms\Demo;

require_once "SmsSingleSender.php";

use Moduyun\Sms\SmsSingleSender;

try {
    // 请根据实际 accesskey 和 secretkey 进行开发,以下只作为演示 sdk 使用
    $accesskey = "";
    $secretkey = "";
    $phoneNumber = "";
    
    $singleSender = new SmsSingleSender($accesskey, $secretkey);

    // 普通单发
    $result = $singleSender->send(0, "86", $phoneNumber , "【摩杜云】您注册的验证码:128128有效时间30分钟。", "", "");
    $rsp = json_decode($result);
    echo $result;
    echo "<br>";

} catch (\Exception $e) {
    echo var_dump($e);
}

SmsSenderUtil.php

<?php

// Works well with php5.3 and php5.6.

namespace Moduyun\Sms;

class SmsSenderUtil {
    function getRandom() {
        return rand(100000, 999999);
    }

    function calculateSig($secretkey, $random, $curTime, $phoneNumbers) {
        $phoneNumbersString = $phoneNumbers[0];
        for ($i = 1; $i < count($phoneNumbers); $i++) {
            $phoneNumbersString .= ("," . $phoneNumbers[$i]);
        }
        return hash("sha256", "secretkey=".$secretkey."&random=".$random
            ."&time=".$curTime."&mobile=".$phoneNumbersString);
    }

    function calculateSigForTemplAndPhoneNumbers($secretkey, $random, $curTime, $phoneNumbers) {
        $phoneNumbersString = $phoneNumbers[0];
        for ($i = 1; $i < count($phoneNumbers); $i++) {
            $phoneNumbersString .= ("," . $phoneNumbers[$i]);
        }
        return hash("sha256", "secretkey=".$secretkey."&random=".$random
            ."&time=".$curTime."&mobile=".$phoneNumbersString);
    }

    function phoneNumbersToArray($nationCode, $phoneNumbers) {
        $i = 0;
        $tel = array();
        do {
            $telElement = new \stdClass();
            $telElement->nationcode = $nationCode;
            $telElement->mobile = $phoneNumbers[$i];
            array_push($tel, $telElement);
        } while (++$i < count($phoneNumbers));
        return $tel;
    }

    function calculateSigForTempl($secretkey, $random, $curTime, $phoneNumber) {
        $phoneNumbers = array($phoneNumber);
        return $this->calculateSigForTemplAndPhoneNumbers($secretkey, $random, $curTime, $phoneNumbers);
    }

    function sendCurlPost($url, $dataObj) {
        $curl = curl_init();
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值