chapter8-“天上的馅饼”—免费的短信通知方式

发布时间:2024年01月21日

上一篇文章我们详细的讲解了如何购买短信服务提供商的短信服务,并且做了一个天气预报的短信通知小服务。但是,使用国内的短信服务提供商提供的短信接口是收费的。那么,有没有“天上的馅饼”——免费的短信接口呢?答案当然是——YES!今天我们就来学习2种免费的短信发送方式。
注意!本文涉及到的2种免费短信接口都存在一定的限制,我会在文章中穿插说明,同时在本文的总结中进行说明。阅读本篇文章前,你可以直接到总结处查看接口的限制条件。
本篇文章中的所有代码也已经同步上传至对应的Github项目,你可以随时下载或者讨论里面的代码。

Twilio——为开发者服务的API网站

Twilio是国外一个云通信平台,已经在纳斯达克上市。它允许软件开发人员以编程的方式拨打和接听电话。Twilio为我们提供了一个免费但是有部分限制的接口。本文首先使用Twilio的免费接口进行讲解。

注册并验证信息

为了保证注册顺利,您可能需要科学上网。

首先我们进入Twilio的首页,点击Get a free API key,进入注册界面。
在这里插入图片描述

在注册页面,您可以按照下面的提示进行注册。
在这里插入图片描述

在点击提交后,系统会发送一条验证信息到您的手机上,直接输入验证码即可。

配置后台

如下图所示,创建应用后,我们进入CONSOLE后台,Twilio为了发送短信,会为我们分配一个手机号码。
在这里插入图片描述

我们点击Get a number后,系统会随机分配给我们一个用来发送信息的号码:
在这里插入图片描述

在确认系统的手机号码后,系统会跳转到一个网页测试页面。这里我们可以直接输入一些简短的信息,测试手机是否能够发送成功。同时右边也提供了对应的代码,方便我们浏览。
在这里插入图片描述

我们点击make requests,系统会帮我们发送一条测试短信至我们的手机中。如果你的手机上收到了对应的短信,说明配置成功。接下来我们开始正式的开发工作!

开发配置
  1. 配置库
    首先我们要安装Twilio提供的Python 库 twilio

pip install twilio

  1. 浏览开发文档
    Twilio官网为我们提供了丰富的接口文档,让我们浏览一下Python接口实例文档。里面提供了一个发送短信的DEMO,而且使用的Python 版本是3.x,因此本次开发,我们无需考虑Python 2.x 的转换。

注意!使用接口之前,请务必保证你的手机号码已经在Twilio中进行了验证,否则将发送失败!
你可以在手机号码验证查询你的手机是否被加入到了Twilio中进行了验证!

  1. 配置用户信息
    我们注意到,开发文档中,需要我们提供对应的ACCOUNT SIDAUTH TOKEN,我们前往CONSOLE页面,注意到右上方,有我们需要的对应的字段信息:
    在这里插入图片描述

  2. 开发测试
    让我们修改一下代码,尝试使用免费的接口,发送短信到我们的手机号码上:

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邮箱后,我们首先登陆到邮箱首页,依次点击设置->邮箱过滤及提醒,进入提醒配置页面,短息显示方式选择分开显示,然后保存配置:
在这里插入图片描述

让我们尝试给139邮箱发送一则邮件,看看手机是否能够接收到对应的提醒短信:
在这里插入图片描述

BINGO!能够正常显示!说明我们的配置正常,能够正常服务啦!

修改天气预报代码
  1. Twilio发送短信
    为了匹配Twilio的SDK,我们需要改写发送短信部分的代码:
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)
  1. 139邮箱发送短信
    忘了我们之前用发送邮件的代码了吗?没错!直接使用之前的代码就可以啦!
总结
  1. 本文介绍了两种免费的短信接口,方便手头有些紧的同学们也能够享受到短信提醒的服务。毕竟我们最终要做的,是一种短息提醒的服务;
  2. Twilio不支持中文短信,同时必须验证手机号码后才能进行发送;139信箱必须注册并配置好邮件提醒功能才能收到对应的短信消息;
  3. 文本中并没有详细介绍通过139邮件发送短信,因为在撰写课程时,就考虑到了程序的可拓展性,封装了每一个函数。希望大家学完后,拿出之前写过的邮件发送的代码,尝试使用139给手机发送一条短信。
文章来源:https://blog.csdn.net/ElegantOfKing/article/details/135723518
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。