本文介绍了如何使用Amazon SNS、Python和boto3发送带有自定义发件人ID的短信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

documentation建议为此使用消息属性,但我似乎无法确定要使用哪个属性名称。

到目前为止,这是有效的:

sns = boto3.client('sns', region_name='eu-west-1')

sns.publish(
  PhoneNumber='+491701234567',
  Message='hi there',
  MessageAttributes={
    'AWS.SNS.SMS.SenderID': {
      'DataType': 'String',
      'StringValue': 'MySenderID'
    }
  }
)

短信已送达,但带有一些(随机?)"发件人ID"字段中的值。因此,我的消息属性设置似乎被悄悄忽略了。设置自定义发件人ID的正确方式是什么?

推荐答案

发件人ID必须为1-11个字母数字字符,不能有空格,例如:

  • THISISME-✅
  • TestForSO-✅
  • StackOverflow-🛑(太长。最多11个字符)
  • Some one-🛑(无空格)

正如其他人提到的,发件人ID自定义取决于国家/地区/移动电话提供商,因此请确保对其进行测试。

示例代码段

import boto3

access_key = '....'
secret = '....'
region = "us-east-1"

number = '+972...<your number>'

sender_id = 'TestForSO'
sms_message = 'Your code: 123456'

sns = boto3.client('sns', aws_access_key_id=access_key, aws_secret_access_key=secret, region_name=region)
sns.publish(PhoneNumber=number, Message=sms_message, MessageAttributes={'AWS.SNS.SMS.SenderID': {'DataType': 'String', 'StringValue': sender_id}, 'AWS.SNS.SMS.SMSType': {'DataType': 'String', 'StringValue': 'Promotional'}})

这篇关于如何使用Amazon SNS、Python和boto3发送带有自定义发件人ID的短信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-08 12:52