出于某种原因,当我在代码中设置senderid时,senderid似乎恢复为notice-see herephp - “SenderID”问题在Amazon SNS(官方PHP SDK)上发送短信-LMLPHP
当我不使用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!"
);

08-08 01:28