Tecnologia e Digital Hacks
04-01-2009

Invia SMS/MMS dal tuo sito

box

Introduzione

Qui inserisco i file necessari per inserire nel proprio sito un form per l'invio di mms ai numeri vodafone come quello che trovate in questo blog. In un prossimo articolo spiegherò come sia possibile sfruttare facilmente i molti altri servizi di invio sms e mms gratuiti (come Frengo o Jaxtr) che permettono di inviare sms (anche se più brevi) a più operatori e che trovate disponibili su jacksms.it. Chi volesse anticipazioni (l'articolo sarà pubblicato tra circa tre settimane) può scrivermi un'email o commentare su questo post.

Requisiti

Per far funzionare questo script è necessario avere un hosting con installato un motore php (dovrebbe funzionare dal 4.0 in su) e soprattutto che permetta l'accesso a siti esterni (come aruba e molti altri). In caso questa caratteristica non sia disponibile posso hostare i file internamente a questo server (scrivetemi =)).

Download del pacchetto

Ecco il pacchetto completo da scaricare.

Installazione e Configurazione

Per installare questo box è sufficiente copiare la cartella "sender" in una qualsiasi posizione del vostro sito che sia accessibile da browser. Come vedete la cartella contiene essenzialmente tre parti: - send.php e it-numutils.php che servono strettamente all'invio del messaggio; - captcha per il codice di controllo; - images e js per visualizzare le caratteristiche ajax. A questo punto, in un qualsiasi spazio del vostro sito, dovete inserire il codice html che visualizza il form di invio. Se il form e la cartella sender si dovessero trovare nella stessa directory (come nello zip dei file, in cui il form è send.html) non dovete modificare nulla. In caso contrario, vi basterà adattare i vari percorsi (sottolineati in rosso nell'immagine) che possono essere relativi o assoluti (http://...ecc/sender...). Ecco il codice (evidenziato):
<script language="JavaScript" src="sender/js/ajaxsend.js" type="text/javascript"></script> <script language="JavaScript" type="text/javascript"> function captchaUpdate () { document.images['scaptcha_img'].src ='sender/captcha/captcha.php?antiselect=1'+ '&' + (new Date()).getTime(); } function TAlimit(s) { var maxlength = 900; // Change number to your max length. if (s.value.length > maxlength) s.value = s.value.substring(0,maxlength); } </script> <div class="c1"> <form name="smsform" target="_blank" action="sender/send.php" method="post" onsubmit="xmlhttpPost('sender/send.php', 'smsform', 'smsresult', '&lt;img src=\'sender/images/ajax-loader.gif\' alt=\'loading\'&gt;&lt;/img&gt;'); return false;"> <p>Invio Messaggio</p> <p><input name="snick" maxlength="10" type="text" value="Nick"></p><!-- La linea sotto non serve se si vuole inviare ad un numero definito (da impostare dentro send.php) --> <p><input name="snumber" type="text" value="Numero"></p> <p> <textarea onkeyup="TAlimit(this)" name="smex" cols="15" rows="6" wrap="soft"> Messaggio </textarea></p> <p><img src="sender/captcha/captcha.php?antiselect=1" name="scaptcha_img" alt="captcha"></p> <p><input name="scaptcha" type="text" value="Codice Immagine"></p> <p><a href="javascript:void(0);" onclick="captchaUpdate()">Reload Captcha</a> - <a href="sender/captcha/captcha.php?audioselect=1">Ascolta Audio</a></p> <p><input name="send_button" type="submit" value="Send"></p> </form> <div id="smsresult"></div> </div>
Se volete che il box invii sempre messaggi verso un numero fisso, vi basta rimuovere la riga in blu e modificare il file send.php rimuovendo il commento dalla linea 31. line1 Un'altra modifica potrebbe riguardare l'eliminazione del codice di controllo (pur essendo sconsigliata). Anche questo è possibile rimuovendo la riga in verde (comprese le parti in rosso in  mezzo) nell'html e modificando ancora il file send.php in questo modo: line2 Inoltre dentro i file captcha.php e send.php ci sono altre configurazioni facili da impostare (vedere i commenti tra le righe). Un'altra cosa, se volete cambiare il loader visualizzato durante l'invio, potete visitare questo sito.

Note

Sebbene non sia successo recentemente, a volte il sito della vodafone cambia struttura. In questo caso è necessario aggiornare lo script. Se quindi notate che per un certo tempo il servizio non funziona, controllate questo post per aggiornamenti ed eventualmente non esitate a contattarmi.

18 Commenti a “Invia SMS/MMS dal tuo sito”

  1. Giannicola scrive:

    Grazie infinite per avermi risposto subito e per l'aiuto :)

  2. Nick scrive:

    Di nulla, sono contento di averti aiutato. =) E complimenti per il sito! Ciao!

  3. Robert Steiner scrive:

    Ciao, vorrei inserire nel mio sito la possibilità che sia il sito stesso (non l'utente) ad inviare SMS a qualunque gestore. Come posso fare? Grazie.

  4. Nick scrive:

    @Robert Steiner Questo è possibile, scegliendo adeguatamente i servizi. Comunque rispondo alla tua richiesta via email. Prego!

  5. sky4all scrive:

    Salve inanzitutto complimenti per lo script, un mio amico mi ha passato il link ho subito scaricato lo script e uppato nel mio sito al momento qui in fase test http://sky4all.altervista.org/sms/send.html però ho notato che nn va, da cosa può dipendere? da Errore in invio alverista dovrebbe avere tutti i requisiti postati da te.. sarei anche interessato alla richiesta di @Robert Steiner nel frattempo della risposta continuero a fare prove per far funzionare lo script resto in attesa grazie ciao

  6. Nick scrive:

    @sky4all Ti ringrazio per i complimenti. Gran parte del merito va comunque al team di gotext che ha fornito gli script di connessione come visibile negli header dei relativi file. Purtroppo da quanto leggo qui (http://forum.it.altervista.org/novita/78796-curl-e-fsockopen.html) sembrerebbe che siano abilitati solo alcuni server per il fsockopen() su altervista. Potresti provare (se disponibile) con la conferma del numero telefonico, come descritto. L'errore potrebbe essere proprio questo. Per quanto riguarda la richiesta di Robert, ti copio parte della risposta che ho a lui inviato. Esistono servizi di invio a pagamento (come tol.it, ecc) o servizi gratuiti. Tra questi ultimi troviamo frengo (non funzionante in questi giorni) e jaxtr (che invece sembra andare correttamente). Il problema è che entrambi limitano l'invio di molti sms ripetuti in poco tempo (che è quello che serve). Permettono comunque circa 400 sms all'ora. Altre alternative (magari a bassissimo prezzo come mexado.com) le trovi a questa pagina: http://www.jacksms.it/services.xml (scorri la lista XML e guarda le descrizioni dei vari servizi). Una volta scelto il servizio, fare lo script costa poco tempo, e te lo invio senza problemi. Ciao, buona serata.

  7. Luca Mercatanti scrive:

    Ottimo articolo, ma volevo chiederti una cosa: funziona ancora? Funziona con tutti i numeri o solo verso Vodafone? Grazie mille :-)

  8. Nick scrive:

    @Luca Mercatanti Ciao, ti ringrazio. Sìsì, funzionante ma solo verso i Vodafone. Attualmente credo che l'unico servizio gratuito funzionante verso tutti sia quello di Jaxtr (Frengo è stato disabilitato recentemente) di cui però esistono forse alcune limitazioni sul volume per ora.

  9. Anceloth scrive:

    ora una domanda: c'è un sistema per installare il tutto su altervista? purtroppo quell' host non permette le connessioni necessarie! :\

  10. Nick scrive:

    @Anceloth Da quello che so tramite la conferma del numero di cellulare ti abilitano le connessioni esterne.. Sicuro che non ci sia questa opzione?

  11. CkThecnology scrive:

    Salve, sono l'amministratore del sito www.cktechnology.altervista.org . Volevo chiederti un favore. Praticamente io ho hostato il mio sito su altervista e da quanto capisco dai commenti non è possibile inviare mms poichè da un errore. A questo punto volevo chiederti se potevo mettere nel mio blog solo la pagina del tuo blog che contiene il modulo. Ringrazio anticipatamente della tua risposta!

  12. Nick scrive:

    @CkThecnology Salve. Ecco una pagina pronta pronta da inserire in un iframe http://blog.hanicker.it/others/sms/ . Spero possa andare bene. Dimmi se ci sono problemi o vorresti delle modifiche.

  13. CkThecnology scrive:

    Grazie nick ti ringrazio della pagina ora la provo!!

  14. dave scrive:

    prima di tutto complimentoni per il sito! come avete risolto poi il fatto dell\'Errore in invio? solo con i frame? grazie mille, saluti!

  15. Nick scrive:

    @dave Ciao, anzitutto mi scuso per il ritardo ma sono stato molto impegnato questi giorni. Per quanto riguarda l'errore di invio, che si presenta nei server che non supportano la connessione a siti esterni, per ora si può risolvere con i frame o in altri modi simili, lasciando comunque la parte di invio all'interno di un server esterno.

  16. Luciano scrive:

    Bravi ottimo trick....sono un webmaster e vi dico che se attivate nella sezione "Server to Server " di altervista l'opzione traffico verso esterno tramite librerie citate su non potrete inviare mms. Poi ho un problema con il mio cms che è flatnux. Non visualizzo il bottone send,possibile che sia sbagliato qualcosa nel codice? Sembra tutto ok ed infatti come path univ. funziona, ma non visualizza il bottone send da script html....come mai,ogni suggerimento e' bene accetto...ciao. Sto sviluppando una versione per iphone e symbian che gira sotto widgets..se volete quando ho finito la posto

  17. zakkino scrive:

    Ciao e complimenti per questo meraviglioso script............ nn so cose che nn mi vada e sto a sclerare............. e kiederti troppo, se mi inviii lo script funzionante con i servizi attivi cosi lo posso inserire nel mio sito? Grazie per la disponibbilita....

  18. tutore91 scrive:

    ciao, volevo segnalarti che in questo momento l'invio da questo sito non funziona, continua a caricare senza dare sms inviato. Spero di esserti stato utile. Ciao