如何使用boto(或其他python|perl库)通过AWS SNS直接向手机号码发送短信?
约束:
我的使用案例:使用 AWS 短信作为终端节点协议,使用 AWS SNS 从 Nagios 发送短信警报。
下面的脚本适用于我,只需替换脚本中定义为常量的所需参数。下面的脚本还处理多个收件人的批量短信
import json
import boto3
import os
ACCESS_KEY = <your key>
ACCESS_SECRET = <your secret>
AWS_REGION = <your region>
RECIPIENT_NUMBERS = [<recipient number list>]
SENDER_ID = <sender_id>
MESSAGE = <your message>
sns = boto3.client('sns', aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=ACCESS_SECRET,
region_name=AWS_REGION)
for number in RECIPIENT_NUMBERS:
response = sns.publish(
PhoneNumber=number,
Message=MESSAGE,
MessageAttributes={
'AWS.SNS.SMS.SenderID': {'DataType': 'String',
'StringValue': SENDER_ID},
'AWS.SNS.SMS.SMSType': {'DataType': 'String',
'StringValue': 'Promotional'}
}
)
print(response)
只需在必填字段中替换,您将获得此工作。
import boto3
# Create an SNS client
client = boto3.client(
"sns",
aws_access_key_id="your_access_key_id",
aws_secret_access_key="you_secret_access_key",
region_name="us-east-1"
)
# Send your sms message.
client.publish(
PhoneNumber="your_phone_number",
Message="Hello World!"
)
要发送给多个联系人,请参阅此处
下面是使用boto3通过SNS直接发布到电话号码的代码。如果您在电话号码参数方面出现错误,您需要升级您的版本boto。重要的是要记住,SNS目前支持直接发布到电话号码(PhoneNumber)或推送通知endpoint(targetArn)。还要注意,TopicArn、PhoneNumber和TargetArn都是互斥的,因此每次发布只能指定其中一个。
import boto3
sns_client = boto3.client('sns')
response = sns_client.publish(
PhoneNumber='+12065551212',
Message='This is a test SMS message',
#TopicArn='string', (Optional - can't be used with PhoneNumer)
#TargetArn='string', (Optional - can't be used with PhoneNumer)
#Subject='string', (Optional - not used with PhoneNumer)
#MessageStructure='string' (Optional)
)
print(response)
我已成功发送多部分pdu短信, 问题是,当我试图将此SMS发送到不同网络上的号码时,它会给我以下错误: 请谁能告诉我我该怎么做。
问题内容: 我想通过Web应用程序将SMS发送到手机,可以吗?我该怎么做? 问题答案: 您可以使用此免费的Java示例程序使用连接到计算机的GSM调制解调器将PC上的SMS发送到COM端口。您还需要从Sun下载并安装Java comm api。 该程序需要以下Java文件才能运行。 SerialConnection.java(此文件用于从Java程序连接到COM端口) SerialConnecti
null
我似乎不能从Android应用程序调用这个类来通过我附带的sms APi发送sms。 我已经将我的调用附加到sender类,以便在我想通过按钮单击发送SMS时调用http类。纽扣纽扣;button=(button)findViewById(r.id.nobtn);Button.SetonClickListener(new View.onClickListener(){@override publi
我是ruby和ruby on rails的新手,在设置Twilio发送短信时遇到了麻烦。
问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌