0
$accessKey = 'XZA...';
$accessSecret = 'YKW...';
$credentials = new Aws\Credentials\Credentials($accessKey, $accessSecret);
$sharedConfig = [
'region' => 'us-east-1',
'version' => 'latest',
'credentials' => $credentials
];
$sdk = new Aws\Sdk($sharedConfig);
$sns = new SnsClient($sharedConfig);
$payload = [
'PhoneNumber' => '+999999999', // E.164 format
'Message' => md5(time()),
'MessageAttributes' => [
'DefaultSenderID' => ['DataType'=>'String','StringValue'=>'MyBrandName'],
'DefaultSMSType' => ['DataType'=>'String','StringValue'=>'Transactional']
]
];
try {
$data = $sns->publish($payload);
$MessageId = $data->get('MessageId');
} catch (Exception $e) { }
我使用AWS SDK的PHP - 3版
上面的代码工作得很好,当我发送一个短信,除了属性DefaultSenderID至极当我将短信发送到移动设备时不起作用。亚马逊SNS - AWS-SDK-PHP
亚马逊文档说DefaultSenderID - 一个字符串,如您的商业品牌,在接收设备上显示为发件人。对发件人ID的支持因国家而异。发件人ID可以是1 - 11个字母数字字符,并且它必须至少包含一个字母。
任何人都使用Amazon SNS遇到过这个问题?
您可以添加完整的PHP文件,有没有脚本中的任何其他函数/方法或没有脚本目前需要任何AWS SDK文件的?如果可以添加完整的php文件,这将有所帮助,否则如果解决了问题,请让其他人知道它已经解决,以及如何解决问题。 – Birdy
上面的代码中缺少的唯一东西是require_once'autoload..php'。完整的脚本是上面的代码。问题依然存在...... –