如何使用Python/Django应用发送短信?
我需要开发一个应用程序,当用户进行某个操作时,能够给他们发送短信。
我听说过可以用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助手库,这个库让使用他们的短信服务变得非常简单。