如何使用Python/Django应用发送短信?

5 投票
6 回答
4966 浏览
提问于 2025-04-16 00:46

我需要开发一个应用程序,当用户进行某个操作时,能够给他们发送短信。

我听说过可以用PHP的kannel,不知道在Python中有没有类似的帮助,或者有没有其他更好的开源短信网关可以和我的应用一起使用?

请给我一些建议。

提前谢谢你。

6 个回答

1

我之前在这个问题上纠结了很久,最后发现了一个很不错的选择,就是Twilio。不过我深入研究后发现还有一个叫做pygooglevoice的Google Voice API可以用。这个选项简单又干净,不需要查找运营商。比如,你可以先设置一个virtualenv,然后用pip来安装:

pip install pygooglevoice

然后你可以用类似下面的代码:

from googlevoice import Voice
from googlevoice.util import input

def send(number, message):
    user = 'user@gmail.com'
    password = 'password'

    voice = Voice()
    voice.login(user, password)

    #number = input('Number to send message to: ') # use these for command method
    #message = input('Message text: ')

    voice.send_sms(number, message)

请注意,我对这个做的测试有限,所以不太确定它的所有优缺点。很可能还有一些我还没发现的限制。不过在我玩这个的过程中,我觉得还挺满意的。

3

通常情况下,你会使用普通的HTTP GET或POST请求来和短信网关进行通信,比如Clickatell以及其他很多类似的服务。

3

我工作的地方Twilio有一个开源的Python助手库,这个库让使用他们的短信服务变得非常简单。

撰写回答