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

时间:2010-07-03 17:47:00

标签: python django sms

我必须开发一个应用程序,我需要向用户发送有关用户特定操作的SMS。

我听说过使用PHP的kannel,在Python中是否有一些相同的帮助,或者是否有其他更好的开源短信网关,我可以使用我的应用程序?

请建议。

提前致谢。

6 个答案:

答案 0 :(得分:3)

通常,您会对SMS网关使用普通的HTTP GET或POST请求,例如Clickatell和许多其他网关。

答案 1 :(得分:2)

Twilio(我工作的地方)有一个OSS Python helper library,这使得使用他们的短信服务非常容易。

答案 2 :(得分: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 :(得分:0)

[更新]由于基于电子邮件的解决方案不适合您,请查看Twilio。清洁API,我听到了关于它们的好消息。

如果您了解用户所在的运营商,则最简单的方法是使用几乎所有移动运营商提供的电子邮件到短信服务。许多提供商的地址Here's an article

如果这对您有用(例如,如果您事先知道号码/承运人,或者您可以向用户询问承运人及其号码),那么您只需向相应的地址发送电子邮件即可将作为短信发送给用户。

答案 4 :(得分:0)

查看django-smsgate(BSD许可)申请,通过短信网关处理短信。

答案 5 :(得分:0)

我刚刚使用Django编写了一个基本的Twilio演示应用程序,它向用户发送短信并处理短信响应。我将代码发布到github并写了一些解释性博客文章。

顶级帖子为here,但您可以从GitHub获取所有代码。请注意,我的特定示例使用LinkedIn进行身份验证,但第二和第三篇博文包含twilio特定方法。这样你就可以看出这是否适用于你。

希望这会有所帮助: - )