代码之家  ›  专栏  ›  技术社区  ›  XLR

“SenderID”在Amazon SNS上发送短信(官方PHP SDK)

  •  5
  • XLR  · 技术社区  · 8 年前

    出于某种原因,SenderID似乎恢复为通知-请参阅此处 Amazon SNS - SMS Notice 当我在代码中设置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个字符的限制内。

    有人知道为什么会这样吗?

    2 回复  |  直到 8 年前
        1
  •  3
  •   Mark Bailey zalun    6 年前

    我找到了答案。

    搜索系统最初没有实现这一点,但最终,我找到了它。

    报价来源: https://stackoverflow.com/a/43748448/7586984

    $args = array(
        'MessageAttributes' => [
              'AWS.SNS.SMS.SenderID' => [
                   'DataType' => 'String',
                   'StringValue' => 'YourSenderName'
            ]
         ],
          "SMSType" => "Transactional",
          "PhoneNumber" => "+87654321",
          "Message" => "Hello World!"
    );
    
        2
  •  0
  •   user8011997 user8011997    8 年前

    字母数字字符,包括至少一个字母,不含空格。 发送者ID在接收屏幕上显示为消息发送者 消息源更容易识别。

    支持发件人ID的国家/地区,请参阅支持的地区和 国家。

    如果未指定发件人ID,则消息将显示长消息 代码作为受支持国家/地区的发件人ID。对于以下国家: 需要按字母顺序排列的发件人ID,消息将通知显示为 发件人ID。

    http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html