我必須開發一個應用程序,我需要向用戶發送有關用戶特定操作的SMS。如何使用Python/Django應用程序發送短信?
我聽說過PHP的kannel,在Python中是否也有相同的幫助,或者還有其他更好的開源的sms網關,我可以在我的應用程序中使用它嗎?
請建議。
在此先感謝。
我必須開發一個應用程序,我需要向用戶發送有關用戶特定操作的SMS。如何使用Python/Django應用程序發送短信?
我聽說過PHP的kannel,在Python中是否也有相同的幫助,或者還有其他更好的開源的sms網關,我可以在我的應用程序中使用它嗎?
請建議。
在此先感謝。
通常,您可以使用常規的HTTP GET或POST請求來對付SMS網關,例如Clickatell和許多其他人。
[更新]由於基於電子郵件的解決方案不適合您,請查看Twilio。清理API,我聽到有關它們的好消息。
如果您知道用戶所在的運營商,那麼使用幾乎所有移動運營商提供的電子郵件至短信服務可能是最容易的。 Here's an article許多提供商的地址。
如果這對你有用(例如,如果你事先知道號碼/運營商,或者你可以向用戶詢問運營商以及他們的號碼),那麼你所要做的就是發送電子郵件到適當的地址,它將作爲短信發送給用戶。
感謝您的回覆Parand。但我更喜歡一些開源的短信網關,因爲依靠運營商似乎不是現在的好主意。無論如何,你的確是一個不錯的選擇。 – 2010-07-05 08:03:24
Twilio(我工作的地方)有一個OSS Python helper library這使得他們的短信服務工作很容易。
看看django-smsgate(BSD許可)應用程序通過SMS網關使用SMS。
我這個苦苦掙扎了一段時間,真的很喜歡Twilio選項。但後來我深入挖掘,發現有一個名爲pygooglevoice
的Google Voice API可以使用。乾淨,容易...無載體查找...例如,建立一個virtualenv
與pip
安裝:
pip install pygooglevoice
然後使用這樣的事情:
from googlevoice import Voice
from googlevoice.util import input
def send(number, message):
user = '[email protected]'
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)
請注意,我已經做了有限的測試,所以我不確定所有的優點和缺點。我很有可能還沒有發現有限制。但在我玩弄它的時候,我一直很開心。
這裏有一些非常好的答案。你打算做一些upvoting,然後選擇一個你喜歡的?我知道這是幾年後,但它會很酷,得到這個答案;-) – nicorellius 2014-02-16 21:38:49
@nicorellius我真的很抱歉,我無法從這裏選擇任何答案。這裏有很多不錯的選擇,但由於我國其他各種與政策有關的困難,我不得不放棄短信功能。 – 2014-02-17 04:14:53
通常在這種情況下,我仍然會選擇一個滿足您的原始問題要求的人,並將其選爲答案。這裏有一個有效的答案,所以我會認爲不管你的狀態如何,你仍然可以選擇一個「正確的」答案......無論如何感謝你的提示。祝你好運。 – nicorellius 2014-02-17 06:00:59