本文介绍了如何使用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的短信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!