如何使用 Python 发送短信?还不用收短信费?

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

注册及设置

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

如何使用 Python 发送短信?还不用收短信费?

人机验证

需要提醒:这里的人机验证是用的 Google 的服务,也就意味着需要 fanqiang

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

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

如何使用 Python 发送短信?还不用收短信费?

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

如何使用 Python 发送短信?还不用收短信费?

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

如何使用 Python 发送短信?还不用收短信费?

如何使用 Python 发送短信?还不用收短信费?

如何使用 Python 发送短信?还不用收短信费?

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

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

使用

首先,要安装,很简单:

pip install twilio

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

# 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 的手机号需要是已经验证过的!

发送效果:

如何使用 Python 发送短信?还不用收短信费?

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_42156420/article/details/84650271