使用 Python 发送短信?

上回我们说到怎么把签到结果发出来,于是就找到了 Twilio。

Twilio 是一个位于加利福尼亚的云通信(PaaS)公司,致力于为开发者提供通讯模块的 API。由于 Twilio 为试用帐户提供了免费电话短信服务,我们可以在申请需要短信验证的国外免费资源时,使用 Twilio 在线实时收取验证短信。下面,本站就详细介绍一下 Twilio 的申请及短信发送过程。

注册及设置

访问 http://twilio.com/ 并填写注册表单。注册了新账户后,你需要验证一个手机号码,短信将发给该号码。还需要做一个人机验证,证明你是一个人!

注册成功后,需要新建一个 Project,进入 Project 界面后可以看到有 SID 和 TOKEN 信息,后面代码中会用到:

Project

你需要激活一个电话号码,就是让 Twilio 分配一个,分配成功后,就可以用它来发短信了。在 Project 页面 Phone Numbers 下操作即可:

获取号码

想要使用 Twilio 号码发送短信,需要先验证收信方的手机号码。在 Phone Numbers 选项卡中选择 Verified Caller IDs,进入号码验证页面,选择使用短信验证。

验证1

验证2

验证3

输入手机验证码,确认后即完成了接收方的手机验证。

下面,我们就可以使用代码来发送短信了。

使用

首先,要安装,很简单:

1
pip install twilio

其实 Twilio 官方文档提供了各种代码发送短信的方式,如 Python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client


# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'AC4e30ba292bcf6fc97ca656aa71b34bc6'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

message = client.messages.create(
from_='+15017122661',
body='body',
to='+15558675310'
)

print(message.sid)

这里,需要 Twilio 提供的试用账户包括一个电话号码,它将作为短信的发送者。还需要两个信息:你的账户 SID 和 TOKEN,Python 中,这些值将作为你的 Twilio 用户名和密码。

另外,to 的手机号需要是已经验证过的!

发送效果:

发送效果

由于是试用账号,所以带有一些 Twilio 试用字样。也许在哪里设置可以去掉,有兴趣的可以研究下。

上次食行签到领积分里我们说过是不是有办法提醒签到成功,这里就可以操作了,定义一个发送短信的函数,将签到信息发送到指定号码上就行啦:

1
2
3
4
5
6
7
8
9
10
11
def send_sms(text):
account_sid = 'your_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

message = client.messages.create(
from_='your_from_num',
body=text,
to='your_to_num'
)
print(message.sid)

完整代码后台回复「食行生鲜」即可获取。

总结

Twilio 的使用还是很简单的,另外官方的文档也很赞,都提供了示例代码。这里我们仅仅演示了发送短信的功能,有兴趣的还可以试一下接收短信、拨打电话等功能。

如果 Twilio 的注册过程比较懵,可以参考下这篇:http://uuxn.com/twilio-toll-free-sms

hoxis wechat
一个脱离了高级趣味的程序员,关注回复1024有惊喜~
赞赏一杯咖啡
  • 本文作者: hoxis | 微信公众号【不正经程序员】
  • 本文链接: https://hoxis.github.io/python-twilio.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
  • 并保留本声明和上方二维码。感谢您的阅读和支持!
0%