出于某种原因,SenderID似乎还原为NOTICE - 当我在代码中设置SenderID时,请参阅此处。
当我退出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个字符的范围内。
有谁知道为什么会这样?
干杯
答案 0 :(得分:2)
我找到了答案。
搜索系统最初没有实现,但最后,我找到了它。
QUOTE FROM:https://stackoverflow.com/a/43748448/7586984
我找到了解决方案。以这种方式设置args。它有效!
$args = array( 'MessageAttributes' => [ 'AWS.SNS.SMS.SenderID' => [ 'DataType' => 'String', 'StringValue' => 'YourSenderName' ] ], "SMSType" => "Transactional", "PhoneNumber" => "+87654321", "Message" => "Hello World!" );
答案 1 :(得分:0)
(可选)对于发件人ID,键入最多包含11个的自定义ID 字母数字字符,包括至少一个字母和空格。 发件人ID在接收时显示为邮件发件人 设备。例如,您可以使用您的商业品牌来制作 消息来源更容易识别。
对发件人ID的支持因国家/地区而异。例如,消息 发送到美国的电话号码不会显示发件人ID。对于 支持发件人ID的国家/地区,请参阅支持的区域和 国家。
如果您未指定发件人ID,则邮件将显示长号 代码作为受支持国家/地区的发件人ID。对于那些国家 需要字母发送者ID,消息显示为NOTICE 发件人ID。
http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
要说你不能使用空间(你有一个)并且它不会一直工作,这取决于国家和承运人,它不会在比它更多的地方工作