Twilio是一个SMS网关服务,可以通过程序发送短信。虽然试用版每月发送短信数量有限制,但免费试用没有期限。

Twilio不是唯一的SMS网关服务,也可以在线搜索free sms gateway、python sms api,甚至twilio alternatives,寻找替代服务。



1、注册Twilio账号:https://www.twilio.com/try-twilio

注册了新账户后,需要验证一个手机号码,短信将发给该号码。

发送短信_第1张图片


2、Twilio提供的试用账户包括一个电话号码,它将作为短信的发送者。你将需要两个信息:你的账户SID和AUTH。在登录Twilio 账户时,可以在Dashboard 页面上找到这些信息。从Python 程序登录时,这些值将作为你的Twilio用户名和密码。

发送短信_第2张图片


3、python代码

>>> from twilio.rest import TwilioRestClient
>>> accound_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxx'
>>> auth_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
>>> twilioCli = TwilioRestClient(accound_sid,auth_token)
>>> message = twilioCli.messages.create(to='+86180xxxxxxxx',from_='+149xxxxxxxx',body='I want to see you.')
>>> message.to     ##手机号
'+86180xxxxxxxx'
>>> message.from_  ##Twilio号码,下划线“_”区分关键字from
'+149xxxxxxxx'
>>> message.body   ##消息
'I want to see you.'
>>> message.status   ##如果消息被创建和发送,date_created和date_sent属性都包含一个datetime对象。
'queued'
>>> message.date_created
datetime.datetime(2018,2,19,20,58,18)
>>> message.date_sent == None
True                              ##先将message对象记录在message变量中,短信才实际发送,所以date_sent为None
>>> message.sid           ##每个Twilio消息都有唯一的字符串ID(SID),可以用于获取Message对象的最新更新。
‘SMxxxxxxxxxxxxxxxxxx’
>>> updatedMessage=twilioCli.messages.get(message.sid)     ##重新获取message对象。
>>> updatedMessage.status
'delivered'                   ##属性可以为:queued、sending、sent、delivered、undelivered或failed。
>>> updateMessage.date_sent
datetime.datetime(2018,2,19,20,58,18)


附录:

阿里云短信API:https://helpcdn.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.567.LsYSO3

阿里大鱼短信接口(Python3版):https://blog.csdn.net/Raptor/article/details/50908075

腾讯云短信API:https://cloud.tencent.com/document/product/382/5808

腾讯云调用短信:https://www.cnblogs.com/martianShu/p/5847289.html