2010-07-03 1 views
5

Devo sviluppare un'applicazione in cui ho bisogno di inviare SMS agli utenti su una particolare azione da parte degli utenti.Come inviare SMS usando l'applicazione Python/Django?

Ho sentito parlare di kannel con PHP, c'è qualche aiuto per lo stesso in Python o c'è qualche altro migliore sms gateway open source che posso usare con la mia applicazione?

Si prega di suggerire.

Grazie in anticipo.

+0

Ci sono alcune risposte davvero buone qui. Farai un po 'di upvoting e poi ne selezionerai uno che ti piace? So che è anni dopo, ma sarebbe bello avere questa risposta ;-) – nicorellius

+0

@nicorellius Sono davvero dispiaciuto di non aver potuto selezionare nessuna delle risposte da qui.Ci sono così tante buone opzioni qui, ma ho dovuto abbandonare la funzione sms a causa di varie altre difficoltà legate alle politiche nel mio paese. –

+0

Spesso, in questo caso, sceglierò comunque uno che soddisfa i requisiti della tua domanda originale e selezionalo come risposta. Ci sono risposte valide qui, quindi penso che indipendentemente dal tuo stato, potresti comunque scegliere una risposta "corretta" ... Grazie comunque per la nota. In bocca al lupo. – nicorellius

risposta

3

In genere si utilizzano le normali richieste HTTP GET o POST contro un gateway SMS, come Clickatell e molti altri.

0

[Aggiornamento] Poiché la soluzione basata su e-mail non funzionerà per voi, date un'occhiata allo Twilio. API pulite e sento cose positive su di loro.

Se si conosce il gestore su cui si trova l'utente, potrebbe essere più semplice utilizzare i servizi di posta elettronica su sms forniti da quasi tutti i gestori di telefonia mobile. Here's an article sugli indirizzi per molti provider.

Se ciò funziona per voi (ad esempio se conoscete il numero/operatore in anticipo o potete chiedere all'utente il corriere come pure il loro numero), allora tutto ciò che dovete fare è inviare e-mail all'indirizzo appropriato e verrà inviato come SMS all'utente.

+0

Grazie per la risposta Parand. Ma preferirei un gateway SMS open source, in quanto affidarsi al vettore non sembra essere una buona idea per ora. Comunque, la tua è davvero una buona opzione. –

0

Dai un'occhiata all'applicazione django-smsgate (con licenza BSD) per lavorare con gli SMS tramite i gateway SMS.

0

Ho appena scritto un'app demo di Twilio di base utilizzando Django, che invia messaggi SMS agli utenti ed elabora anche le risposte SMS. Ho postato il codice su Github e ho scritto alcuni post di blog esplicativi.

Il post di livello superiore è here ma si può semplicemente prendere tutto il codice da GitHub. Si noti che il mio particolare esempio utilizza LinkedIn per l'autenticazione, ma il secondo e il terzo post del blog riguardano i metodi specifici di twilio. In questo modo puoi vedere se questa è un'opzione che funzionerà per te.

Spero che questo aiuti :-)

1

Stavo lottando con questo per un po 'di tempo e mi è piaciuto l'opzione Twilio. Ma poi ho scavato più a fondo e ho scoperto che esiste un'API di Google Voice chiamata pygooglevoice che funziona. Pulito, facile ... Nessun vettore lookup ... Per esempio, impostare un virtualenv ed installare con pip:

pip install pygooglevoice

Poi usare qualcosa di simile a questo:

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) 

Si prega di notare che ho ho fatto test limitati con questo quindi non sono sicuro di tutti i pro e i contro. È possibile che ci siano dei limiti che non ho ancora scoperto. Ma nel tempo in cui ci ho giocato, sono stato felice.