短信服务这个产品已经整合到消息服务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

