β

php开通阿里云短信服务平台api发送短信的代码

与您分享电脑世界 634 阅读

短信服务这个产品已经整合到消息服务MNS中了,您需要使用MNS的sdk来发送短信。
PHP SDK: https://help.aliyun.com/document_detail/51929.html。 另外,如需查询消费记录,您可以登录控制台费用中心查看下具体的使用明细。 费用中心 – 消费记录 – 消费明细,通过下拉菜单选择“消息服务”产品,筛选时间进行查询。 在列表中点击“详情”进行查看,在详情页点击箭头可以查看到具体的使用量以及对应产生的费用。

<?php
//echo dirname(dirname(dirname(__FILE__)));exit;
require_once(dirname(__FILE__).'/mns-autoloader.php');
use AliyunMNS\Client;
use AliyunMNS\Topic;
use AliyunMNS\Constants;
use AliyunMNS\Model\MailAttributes;
use AliyunMNS\Model\SmsAttributes;
use AliyunMNS\Model\BatchSmsAttributes;
use AliyunMNS\Model\MessageAttributes;
use AliyunMNS\Exception\MnsException;
use AliyunMNS\Requests\PublishMessageRequest;
class PublishBatchSMSMessageDemo
{
    public function run()
    {
        /**
         * Step 1. init client
         */
        $this->endPoint = "xxx"; // 记得对应的机房 eg. http://1234567890123456.mns.cn-hangzhou.aliyuncs.com
        $this->accessId = "xxx";
        $this->accessKey = "xxx";
        $this->client = new Client($this->endPoint, $this->accessId, $this->accessKey);
        /**
         * Step 2. get topic reference
         */
        $topicName = "sms.topic-cn-hangzhou";//如自己没有创建 就用默认的 面板上可以查到
        $topic = $this->client->getTopicRef($topicName);
        /**
         * Step 3. generate SMS message attributes
         */
        // 3.1 set SMS message sign name and template code
        $batchSmsAttributes = new BatchSmsAttributes("已经创建好短信签名", "短信模板ID");
        // 3.2 [if has param defined in SMS message template] set SMS message receiver param
        $batchSmsAttributes->addReceiver("要发送的手机号码13988888888", array("code" => "123","product" => "五一","item" => "团购"));//模板里面的标签解析
        //$batchSmsAttributes->addReceiver("YourReceiverPhoneNumber2", array("YourSMSTemplateParamKey1" => "value1"));
        $messageAttributes = new MessageAttributes(array($batchSmsAttributes));
        /**
         * Step 4. set SMS message body ( required )
         */
         $messageBody = "smsmessage";
        /**
         * Step 5. publish SMS message
         */
        $request = new PublishMessageRequest($messageBody, $messageAttributes);
        try
        {
            $res = $topic->publishMessage($request);
            echo $res->isSucceed();
            echo "\n";
            echo $res->getMessageId();
            echo "\n";
        }
        catch (MnsException $e)
        {
            echo $e;
            echo "\n";
        }
    }
}
$instance = new PublishBatchSMSMessageDemo();
$instance->run();
?>

根据错误码解决问题:https://help.aliyun.com/document_detail/27501.html

作者:与您分享电脑世界
NetPc.com.cn
原文地址:php开通阿里云短信服务平台api发送短信的代码, 感谢原作者分享。

发表评论