上一篇文章我们详细的讲解了如何购买短信服务提供商的短信服务,并且做了一个天气预报的短信通知小服务。但是,使用国内的短信服务提供商提供的短信接口是收费的。那么,有没有“天上的馅饼”——免费的短信接口呢?答案当然是——YES!今天我们就来学习2种免费的短信发送方式。
注意!本文涉及到的2种免费短信接口都存在一定的限制,我会在文章中穿插说明,同时在本文的总结中进行说明。阅读本篇文章前,你可以直接到总结处查看接口的限制条件。
本篇文章中的所有代码也已经同步上传至对应的Github项目,你可以随时下载或者讨论里面的代码。
Twilio是国外一个云通信平台,已经在纳斯达克上市。它允许软件开发人员以编程的方式拨打和接听电话。Twilio为我们提供了一个免费但是有部分限制的接口。本文首先使用Twilio的免费接口进行讲解。
为了保证注册顺利,您可能需要科学上网。
首先我们进入Twilio的首页,点击Get a free API key
,进入注册界面。
在注册页面,您可以按照下面的提示进行注册。
在点击提交后,系统会发送一条验证信息到您的手机上,直接输入验证码即可。
如下图所示,创建应用后,我们进入CONSOLE后台,Twilio为了发送短信,会为我们分配一个手机号码。
我们点击Get a number
后,系统会随机分配给我们一个用来发送信息的号码:
在确认系统的手机号码后,系统会跳转到一个网页测试页面。这里我们可以直接输入一些简短的信息,测试手机是否能够发送成功。同时右边也提供了对应的代码,方便我们浏览。
我们点击make requests
,系统会帮我们发送一条测试短信至我们的手机中。如果你的手机上收到了对应的短信,说明配置成功。接下来我们开始正式的开发工作!
twilio
:pip install twilio
注意!使用接口之前,请务必保证你的手机号码已经在Twilio中进行了验证,否则将发送失败!
你可以在手机号码验证查询你的手机是否被加入到了Twilio中进行了验证!
配置用户信息
我们注意到,开发文档中,需要我们提供对应的ACCOUNT SID
和AUTH TOKEN
,我们前往CONSOLE
页面,注意到右上方,有我们需要的对应的字段信息:
开发测试
让我们修改一下代码,尝试使用免费的接口,发送短信到我们的手机号码上:
from twilio.rest import Client
# Your Account SID from twilio.com/console
account_sid = "AC141778d2eed2ba022112c91157426103"
# Your Auth Token from twilio.com/console
auth_token = "your_auth_token"
client = Client(account_sid, auth_token)
message = client.messages.create(
to="+15558675309",
from_="+15017250604",
body="你好,世界!")
print(message.sid)
让我们稍等…是不是发现你的手机还没有收到短信?Yes!Twilio提供的免费接口,暂不支持中文短信
!因此让我们修改一下发送的内容body
中的内容为英文,然后再尝试发送一次:
这下次正常啦!手机很快收到了对应的短信。
139邮箱
是由中国移动为中国移动用户提供的一项邮箱服务,但是目前任何人都可以免费申请(移动用户默认开通该邮箱)。我们可以使用它的邮件提醒服务:发送邮件至我们的139信箱,然后由139信箱通过短信发送到我们的手机上,达到免费短信接收的效果。
为了使用邮件提醒服务,请在申请139邮箱时,务必绑定对应的手机号码
注册139邮箱后,我们首先登陆到邮箱首页,依次点击设置
->邮箱过滤及提醒
,进入提醒配置页面,短息显示方式
选择分开显示
,然后保存配置:
让我们尝试给139邮箱发送一则邮件,看看手机是否能够接收到对应的提醒短信:
BINGO!能够正常显示!说明我们的配置正常,能够正常服务啦!
from twilio.rest import Client
account_sid = ""
auth_token = ""
client = Client(account_sid, auth_token)
def send_sms(to_number,from_number,sms_text):
message = client.messages.create(
to=to_number,
from_=from_number,
body=sms_text)
print(message.sid)