短信服务这个产品已经整合到消息服务MNS中了,您需要使用MNS的sdk来发送短信。
PHP SDK: https://help.aliyun.com/document_detail/51929.html。 另外,如需查询消费记录,您可以登录控制台费用中心查看下具体的使用明细。 费用中心 – 消费记录 – 消费明细,通过下拉菜单选择“消息服务”产品,筛选时间进行查询。 在列表中点击“详情”进行查看,在详情页点击箭头可以查看到具体的使用量以及对应产生的费用。
-
下载最新版php sdk
-
MNS PHP SDK
建议下载最新发布的SDK版本以获得最佳性能和稳定性。
- Version 1.3.3
- 更新日期 2016-12-15 http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32381/cn_zh/1481792159495/aliyun-mns-php-sdk-1.3.3.zip
- 配置AccessKeyID、AccessKeySecret和Endpoint;
- AccessKeyId、AccessKeySecret
- 访问阿里云API的密钥对;
- 如果使用主账号访问,登陆阿里云 AccessKey 管理页面创建、查看;//根据提示创建一个
- 如果使用子账号访问,请登录阿里云访问控制控制台查看;
- Endpoint
- 访问MNS的接入地址,登陆MNS控制台 单击右上角 获取Endpoint 查看;//这很重要,记得要选择对应的地区 不然最终无法调用,我就犯错,测试了半天
- 不同地域的接入地址不同;
- AccessKeyId、AccessKeySecret
<?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