如何使用 Python 发送短信

短消息服务 (SMS) 文本消息在全世界的通信中无处不在。使用 Web 应用程序编程接口 (API) 从 Python 应用程序发送 SMS 文本消息很容易。让我们来看看快速向我们的 Python 应用程序添加 SMS 功能所需的工具。

我们需要的工具

本指南适用于 Python 2 和 3,因此请确保您安装了这两个版本之一。

  • Python 2 或 3
  • pip 和 virtualenv 来处理应用程序依赖性
  • 一个免费的 Twilio 帐户来使用他们的 SMS web API
  • 开源 Twilio Python 助手库,版本6.0.0或更高版本

如果您在安装 pip 和 virtualenv 时需要帮助,请查看如何在 Ubuntu 16.04 LTS 上设置 Python 3、Flask 和 Green Unicorn 指南的前几个步骤,其中将展示如何为这些工具安装系统包。

使用网络 API

我们将使用网络 API 来使发送 SMS 变得更容易和更可靠。前往 Twilio 网站并注册一个免费试用帐户,它不仅仅是发送短信!)然后登录到您现有的帐户。

Twilio 试用帐户允许您向自己的验证电话号码发送短信。当您想向您所在国家或其他国家/地区的任何电话号码发送 SMS 时,您可以升级您的帐户以发送消息,只需几分之一美分。

注册后,您将获得一个您所在国家/地区的免费电话号码。我们可以使用该电话号码而无需任何配置来发送出站短信。您还可以接收短信,但这需要在电话号码配置屏幕中更改请求 URL webhook – 我们将在以后的博文中介绍。

安装我们的依赖

我们的代码将使用帮助程序库来简化从 Python 发送文本消息的过程。我们将把 PyPI 的帮助程序库安装到 virtualenv 中。首先我们需要创建虚拟环境。在您的终端中使用以下命令创建一个新的 virtualenv。如果您需要安装 virtualenv,请查看如何在 Ubuntu 16.04 LTS 上设置 Python 3、Flask 和 Green Unicorn 指南。

virtualenv sendsms

激活虚拟环境。

source sendsms/bin/activate

在我们正确激活 virtualenv 后,命令提示符将更改为如下所示:

现在安装 Twilio Python 帮助程序库。我们使用的是 6.0.0 或更高版本的库,这很重要,因为本文中的语法与 5.x 和之前的 Twilio 帮助库版本向后不兼容。

pip install twilio>=6.0.0

帮助程序库现已安装,我们可以将其与我们创建和执行的 Python 代码一起使用。

从 Python 发送短信

使用python 命令在终端中启动 Python 解释器,或者创建一个名为send_sms.py 的新文件。

我们需要从 Twilio 控制台获取我们的帐户凭据,以将我们的 Python 代码连接到我们的 Twilio 帐户。转到 Twilio 控制台并将帐户 SID 和身份验证令牌复制到您的 Python 代码中。

将以下代码输入解释器或新的 Python 文件。您也可以从 Full Stack Python GitHub 组织的博客代码示例 Git 存储库中复制并粘贴代码。

# we import the Twilio client from the dependency we just installed
from twilio.rest import Client

# the following line needs your Twilio Account SID and Auth Token
client = Client("ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz")

# change the "from_" number to your Twilio number and the "to" number
# to the phone number you signed up for Twilio with, or upgrade your
# account to send SMS to any phone number
client.messages.create(to="+19732644152", 
                       from_="+12023351278", 
                       body="Hello from Python!")

上面所有以#开头的行都是注释。一旦您将该代码输入解释器或使用python send_sms.py 运行 Python 脚本,就会发送 SMS。

几秒钟后,您应该会在手机上看到一条消息。我使用的是 iOS,所以这是我收到的短信的样子。

就是这样!您可以将此代码添加到任何 Python 代码以发送短信。只需对您的 Auth Token 保密,因为它将允许拥有它的任何人使用您的帐户发送和接收消息。

有问题吗?通过 Twitter@fullstackpython 或@mattmakai 与我联系。我也在 GitHub 上,用户名是 mattmakai。

看到这篇文章有什么问题了吗?在 GitHub 上创建此页面的源代码并提交拉取请求。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏