如何使用 Python 发送 SMS 文本消息 by@plivo
8,349 讀數

如何使用 Python 发送 SMS 文本消息

2022/06/23
经过 @plivo 8,349 讀數
tldt arrow
ZH
Read on Terminal Reader

太長; 讀書

您可以使用任何语言自动发送短信。 Python 常年位居流行语言榜首,让我们看看如何使用 Python 发送短信。 诀窍不在于您用于发送短信的语言,而在于您使用的 API。当然,理论上你可以从头开始编写代码,接受文本,将其格式化为 SMS,然后将其转发给电信提供商。十五年前,也许你会这样做,但多亏了云服务提供商,没有人需要再这样做了。 今天,我们拥有数十个云通信平台,这些平台提供应用程序编程接口 (API),任何人都可以使用这些接口快速向应用程序添加文本消息。

Company Mentioned

Mention Thumbnail
featured image - 如何使用 Python 发送 SMS 文本消息
Plivo HackerNoon profile picture

@plivo

Plivo

Plivo — Enterprise-grade cloud communications stack for your business. ...

关于 @plivo
LEARN MORE ABOUT @PLIVO'S EXPERTISE AND PLACE ON THE INTERNET.
react to story with heart

您可以使用任何语言自动发送 SMS 消息。

Python 常年位居流行语言榜首,让我们来看看如何使用 Python 发送短信.

诀窍不在于您用于发送短信的语言,而在于您使用的 API。

当然,理论上你可以从头开始编写代码,接受文本,将其格式化为 SMS,然后将其转发给电信提供商。十五年前,也许你会这样做,但多亏了云服务提供商,没有人需要再这样做了。

今天,我们拥有数十个云通信平台,这些平台提供应用程序编程接口 (API),任何人都可以使用这些接口快速向应用程序添加文本消息。

SMS API 允许开发人员将发送和接收文本消息与他们现有的应用程序集成在一起。在后端,它与一个通信平台进行通信,该平台与电信网络接口并实际处理消息。

为了了解它是如何工作的,我们查看了 Plivo 的短信接口. Plivo 在独立点对点评论网站 G2 上的云通信平台满意度评分最高。 Plivo 提供包括 Python 在内的七种语言的软件开发工具包 (SDK)。

要开始使用,请注册一个免费的 Plivo 帐户并使用提供的免费积分来租用一个用于发送和接收消息的电话号码。

Plivo 的文档提供了关于如何搭建 Python 开发环境,包括安装 Plivo Python SDK ,设置一个 Flask 服务器,并安装 ngrok,它将运行在 NAT 和防火墙后面的本地服务器通过安全隧道暴露给公共互联网。

您不需要 Flask 或 ngrok 来发送 SMS 消息,但如果您打算接收它们,则需要使用这些工具。

创建发送 SMS 应用程序

现在您可以直接进入编码领域。创建一个名为 send_sms.py 的文件并将此代码粘贴到其中。

将 auth 占位符替换为您帐户的身份验证凭据,您可以在 Plivo 控制台的首页上找到该凭据。

将电话号码占位符替换为 E.164 格式的实际电话号码(例如,+12025551234)。选择您自己的手机号码作为目的地,这样您就可以看到正在运行的代码。然后保存文件。

 import plivo client = plivo.RestClient('<auth_id>','<auth_token>') response = client.messages.create( src='<sender_number>', dst='<destination_number>', text='Hello, world!',) print(response)

测试您的应用程序

现在运行程序。

 $ python send_sms.py

你应该会收到一个“Hello, world!”在您的手机上留言。

当然,这个例子很简单。

您可以想象更复杂的场景——例如,查找客户的电话号码并向他们发送约会提醒,或者向某人发送可用于双重身份验证的安全代码。

无论您如何使用它,将 SMS 与您的 Python 应用程序集成都比您想象的要简单。短信为企业带来了各种机会。没有像现在这样使用 SMS 为您的企业带来竞争优势的时候了。


相關故事

L O A D I N G
. . . comments & more!
Hackernoon hq - po box 2206, edwards, colorado 81632, usa