#### 1. 使用`composer`集成`aws-sdk-php`
linux或MacOS用户在项目跟目录使用命令:`php composer.phar require aws/aws-sdk-php` 加载`aws-sdk-php`,整个过程随时网速的快慢而定,输入命令回车了之后半天卡在那里不动,不要认为是死机了。成功后发现根目录多了`vender`文件夹
#### 2. 获取亚马逊AWS的key和secret
登录[亚马逊AWS平台](https://ap-southeast-1.console./console/home?region=ap-southeast-1#),在右上角用户名下找到并点击`My Security Credentials`,弹窗点击继续,找到`Access keys (access key ID and secret access key)`,生成`key`和`secret`,一定要下载文件,不然的话再看就看不到了
>[info] 如果未设置相关子账户需要使用根证书登录
#### 3. 使用aws-sdk-php发短信
~~~
/**
* 亚马逊发生短信给世界各地客户
* User: yongjin.xiong 98383028@
* Date: /11/20 下午4:53
*/
public function aws_sms(){
require './vendor/autoload.php';
error_reporting(E_ALL);
ini_set("display_errors", 1);
$params = array(
'credentials' => array(
'key' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
),
'region' => 'ap-southeast-1', // < your aws from SNS Topic region
'version' => '-03-31'
);
$sns = new \Aws\Sns\SnsClient($params);
$args = array(
"SenderID" => "SenderName",
"SMSType" => "Transactional",
"Message" => "Your Verification Code is ".rand(1000,9999).'【Themiss】',
"PhoneNumber" => "+8615822865568"
);
$result = $sns->publish($args);
$arr = (array)$result;
//$arr = $this->object_to_array($result);
dump($arr);
}
~~~
当出现如下结果时代表发送成功:
![](/353510dcbf253e30d264a9346576e9ce_824x440.png)
>[danger] Mac系统下没有问题,Windows平台好像有点儿问题,关于curl的
>[info] 给App推送也可使用aws的SNS服务,具体实施办法后续再写
参考资料:
http://docs./zh_cn/pinpoint/latest/apireference/rest-api-sms-channel.html