2022年 11月 5日

python给手机发短信_使用 Python 发送短信

上回 Python 实现「食行生鲜」签到领积分 中我们说到怎么把签到结果发出来,于是就找到了 Twilio。

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

注册及设置

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

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

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

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

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

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

使用

首先,要安装,很简单:

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

发送效果:

由于是试用账号,所以带有一些 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 的使用还是很简单的,另外官方的文档也很赞,都提供了示例代码。这里我们仅仅演示了发送短信的功能,有兴趣的还可以试一下接收短信、拨打电话等功能。