WMTFormToMail è il processore per form di WMTools.it che ti consente di ricevere in posta elettronica i dati inseriti dai tuoi utenti nei form del tuo sito.
Se il tuo hosting non ti mette a disposizione un processore ("
formail"), o se non sai come scriverne uno, o comunque vuoi evitare di usare "
mailto:" per l'
action dei tuoi form, WMTFormToMail è il servizio più facile da usare e da configurare: l'unica modifica al tuo form consisterà nel cambiare l'action del form e nell'inserire un campo nascosto con il tuo userid.
Se hai già un form nel tuo sito:
. . .
<form action='mailto:tuaemail@tuohost.it' method='...' . . . >
. . .
<input type='text' name='nome' value='' />
. . .
<input type='submit' value='Invia modulo' /> - <input type='reset' value='Cancella il modulo' />
</form>
. . .
dovrai solamente cambiare l'action ed aggiungere un campo hidden con il codice del servizio:
. . .
<form action='http://www.wmtools.it/WMTFormToMail.php' method='...' . . . >
<input type='hidden' name='userid' value='IDSERVIZIO' />
. . .
<input type='text' name='nome' value='' />
. . .
<input type='submit' value='Invia modulo' /> - <input type='reset' value='Cancella il modulo' />
</form>
. . .
Non è necessaria nessun'altra modifica, tutto il resto della mail sarà costruito in base ai dati ricevuti dal tuo form, in cui potrai lasciare invariato l'
enctype, il
method, eventuali event-handler JavaScript (tipo
onsubmit per validare ad esempio), il
target se c'è, etc.
Non è necessario indicare l'indirizzo e-mail di destinazione, il form verrà inviato all'indirizzo specificato in fase di configurazione del servizio, in questo modo eviti anche di inserire il tuo indirizzo di posta elettronica nella pagina e lo terrai
protetto dallo spam.
Il processore accetta in ingresso altri due campi di configurazione (facoltativi): il
subject della mail e l'
indirizzo del mittente.
Sicuramente hai già questi due dati nel tuo form, di certo hai un campo in cui l'utente inserisce il proprio indirizzo di posta elettronica.
Perché siano riconosciuti e correttamente usati dal processore, sarà sufficiente accertarti che il campo "oggetto" abbia
name='subject' ed il campo mittente abbia
name='email'.
Questo che segue è un esempio completo di uso del servizio.
Un form che chiede al visitatore nome, cognome, email, indirizzo, numero di telefono ed un messaggio, invia il form con il metodo
POST all'indirizzo e-mail specificato in fase di configurazione del servizio, usando come subject la frase "Form inviato dal mio sito" e che avrà come mittente l'indirizzo e-mail inserito dall'utente:
. . .
<form action='http://www.wmtools.it/WMTFormToMail.php' method='...' . . . >
<input type='hidden' name='userid' value='IDSERVIZIO' />
<input type='hidden' name='subject' value='Form inviato dal mio sito' />
Nome: <input type='text' name='nome' value='' />
Cognome: <input type='text' name='cognome' value='' />
<input type='text' name='email' value='' />
Indirizzo: <input type='text' name='indirizzo' value='' />
Telefono: <input type='text' name='telefono' value='' />
Messaggio: <textarea name='messaggio' rows='10' cols='40' ></textarea>
<input type='submit' value='Invia modulo' /> - <input type='reset' value='Cancella il modulo' />
</form>
. . .
in rosso/grassetto sono stati evidenziati i campi e i valori obbligatori (action e userid), in rosso/italico gli altri due campi non obbligatori (subject ed email), tutto il resto è solo di esempio.
Caratteristiche e limitazioni
- Il processore accetta in ingresso ed invia in posta
qualsiasi campo dati, quindi TEXT, TEXTAREA, RADIO, CHECKBOX, PASSWORD, HIDDEN ;
- Non è necessario specificare un indirizzo di destinazione per il messaggio,
il form sarà inviato all'indirizzo di posta elettronica specificato nella configurazione del servizio e che viene individuato in base al parametro
userid indicato come campo hidden. Questa piccola limitazione si rende necessaria per evitare utilizzi indebiti del processore da altri che non l'utente che ha sottoscritto il servizio.
- In fase di configurazione verrà richiesta anche la URL DI RISPOSTA, cioè la pagina del vostro sito in cui verrà reindirizzato l'utente dopo l'invio del form. In pratica la tipica pagina "Il messaggio è stato inviato, risponderemo al più presto".
- Se il sistema non riconosce l'
userid, oppure non indicherete una pagina di risposta, presenterà al visitatore nel primo caso una pagina d'errore (non riconoscendo l'userid non sarà possibile trovare il vostro indirizzo e-mail), mentre nel secondo caso avviserà che l'email è partita ed inviterà il visitatore a tornare al sito usando i comandi [
Back] del browser.
- Il processore
non è in grado di validare il vostro form. Per far questo WMTools.it dovrebbe presentare al visitatore una pagina di errore invitandolo a riempire i campi obbligatori, ma il layout grafico della pagina sarebbe inevitabilmente quello di WMTools.it e non quello del vostro sito, quindi il visitatore ne verrebbe disorientato. Abbiamo scelto dunque di non prevedere nessuna validazione lato server, se vorrete rendere obbligatori dei campi potrete farlo nel modo consueto direttamente dalla vostra pagina usando JavaScript. Alcuni esempi li trovate in JsDir.com nella pagina
StaffScripts e tre le
F.A.Q. & A.
- L'unica vera limitazione di questo servizio è nei campi
file.
Potete usare uno o più campi <input type='file'> per consentire ai vostri utenti di allegare dei files al vostro messaggio, ma
il processore, pur ricevendo tutti i files, reinvierà al vostro indirizzo solo file(s) di dimensione minore o uguale a 65.535 Byte. Se verranno ricevuti allegati più corposi il form verrà comunque inviato, ma senza il file (o i files) di dimensione eccessiva. Quindi se predisponete, ad esempio, tre campi file, ed il vostro utente seleziona due file minori di 65Kb ed uno di dimensioni maggiori, riceverete solamente i due file più piccoli.
Ricordate che per poter inviare dei files allegati il form deve avere settati il giusto valore per enctype e method. Ad esempio questo form sarà in grado di trasportare uno o più allegati:
<form action='...' . . . enctype='multipart/form-data' method='post' . . . >
valori diversi per i due parametri evidenziati faranno fallire l'invio.