出于某种原因,当我在代码中设置senderid时,senderid似乎恢复为notice-see here。
当我不使用senderid变量时,它将作为默认设置发送-这很好,但我们偶尔会更改名称以用于不同的用途。
我使用的是官方的php sdk,代码如下:
$aws_cred = array(
'credentials' => array(
'key' => 'GOT THE KEY',
'secret' => 'GOT THE SECRET',
),
'region' => 'eu-west-1', // < your aws from SNS Topic region
'version' => 'latest'
);
$sns = new \Aws\Sns\SnsClient($aws_cred);
$args = array(
"SenderID" => "MySendID",
"SMSType" => "Promotional",
"Message" => "Amazon y u do dis??",
"PhoneNumber" => "+number"
);
$result = $sns->publish($args);
我将发送到英国(所以sid在那里工作),而且它在11个字符的限制内。
有人知道为什么会这样吗?
干杯
最佳答案
我找到了答案。
搜索系统最初并没有实现这一点,但最终,我找到了它。
引用自:https://stackoverflow.com/a/43748448/7586984
我找到了解决办法。这样设置参数。它起作用了!
$args = array(
'MessageAttributes' => [
'AWS.SNS.SMS.SenderID' => [
'DataType' => 'String',
'StringValue' => 'YourSenderName'
]
],
"SMSType" => "Transactional",
"PhoneNumber" => "+87654321",
"Message" => "Hello World!"
);