首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Django向手机发送短信

使用Django向手机发送短信
EN

Stack Overflow用户
提问于 2009-01-10 04:56:48
回答 6查看 32.1K关注 0票数 20

我正在构建一个应用程序,在其中我有一个小调查模块,它向我给出的电话号码发送一条简单的sms,并且必须收集响应(如果用户触发它)并将其显示给我。我正在使用django构建我的项目。我已经尝试过django-sms谷歌代码项目,但我无法将消息从我的手机发回我的服务器。我在sms上浏览了很多教程--网关/运营商。但我迷路了。有没有人能帮我推荐一个关于如何从我的应用程序(Django)向任何手机发送短信的教程?关于向手机发送短信,需要付费吗(就像我从一部手机发送短信到另一部手机一样)?

EN

回答 6

Stack Overflow用户

发布于 2014-01-14 08:19:24

大家好,我的名字是Jarod,我在Twilio.com工作,所以我有点偏见。但话虽如此,使用Twilio Rest Api从您的Python web应用程序发送短信是非常容易的。下面是一个简单的例子:

代码语言:javascript
复制
# Download the Python helper library from twilio.com/docs/python/install 
from twilio.rest import TwilioRestClient

# Your Account Sid and Auth Token from twilio.com/user/account
account_sid = "{{ account_sid }}"
auth_token  = "{{ auth_token }}"
client = TwilioRestClient(account_sid, auth_token)

message = client.messages.create(
    body="Jenny please?! I love you <3",
    to="+15558675309",
    from_="+14158141829",
    media_url="http://www.example.com/hearts.png")
print message.sid
票数 21
EN

Stack Overflow用户

发布于 2009-01-10 05:08:38

从技术角度来看,使用任何web应用程序完成短信发送的最简单方法是通过电子邮件。大多数手机提供商通常会给他们的用户提供电子邮件帐户,而发送邮件到该帐户将更有可能通过SMS将邮件重定向到他们的手机。然而,并不是所有的运营商都这样做,一些运营商对这种类型的服务收取额外费用。在这种情况下,您可以通过查看以下Django documentation page来处理此问题

但是,如前所述,这并不是一个真正完整的解决方案,因此最简单的方法是使用SMS网关。大多数情况下,它们提供了简单的基于REST的API,用于向手机发送文本消息。不同运营商的API会有明显的不同。如果你正在寻找一个免费的开源解决方案(假设你想在你的服务器上安装实际的网关),我建议你去看看Kannel

无论如何,我会先尝试让它在电子邮件场景中工作,然后在您实际需要的情况下使用运营商。希望这能有所帮助。

票数 11
EN

Stack Overflow用户

发布于 2014-02-17 05:59:39

我在另一篇文章中回答了一个类似的问题,有点晚了。这里有更多的信息。希望它能有所帮助:

我为此苦苦挣扎了一段时间,真的很喜欢Twilio选项。但后来我深入挖掘,发现有一个名为pygooglevoice的Google Voice API可以正常工作。干净,简单...无运营商查找...例如,设置virtualenv并使用pip进行安装

pip install pygooglevoice

然后使用类似这样的东西:

代码语言:javascript
复制
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)

请注意,我已经用这个做了有限的测试,所以我不确定所有的利弊。很可能有一些我还没有发现的局限性。但在我玩它的这段时间里,我一直很开心。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/430582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档