Start Home Hosting Forum Hosting Account Server gratuito Hosting Blog Hosting FAQ
 
Contacts

Registrazione domini, hosting
Registrazione domini a soli 5.49 euro l'anno!
     http://www.


Registrazione domini e Hosting professionale
NewsHTMLCSSJAVASCRIPTHosting MysqlHosting PHPHosting BlogHosting CMSHosting Forum    
 

Invio email

Lo script illustrato di seguito può essere utile a tutti coloro che hanno incontrato problemi con la creazione di un form per l’invio di mail

Si tratta di uno script di base, ma utile per capire i meccanismi.
Da questo punto in poi la parola a pikadilly che mi ha gentilmente inviato lo script e la sua descrizione.

“La domanda che spesso viene fatta è: “come faccio ad inviare un modulo

dalla mia pagina web alla mia mail?”, le risposte prevedono sempre la comparsa della parola “programmazione”. Di seguito vedremo un semplice script che permette di inviare una mail dal nostro sito alla nostra casella e-mail, funziona anche se la casella di posta è una webmail.
Anzitutto abbiamo due pagine che chiameremo:

“modulo.html”
“invio.php”

modulo.html conterrà la form in cui si inseriranno di dati, per esempio:

-E-mail
-Oggetto
-Messaggio

Per ogni campo sopracitato si deve sapere il nome, name, tipo, type, e id, che rimane id.
quindi il codice sarà così ad esempio per l’oggetto della mail.

<input name=”object” type=”text” id=”object” />

Vediamo la form nella pagina modulo.html nell’insieme:

  1. <form method=“post” action=“invio.php” id=“modulo”>

  2. <table>

  3. <tbody>

  4. <tr>

  5. <td>Il Suo indirizzo e-mail*</td>

  6. <td><label> <input name=“mail” id=“mail” />

  7. </label></td>

  8. </tr>

  9. <tr>

  10. <td>Oggetto*</td>

  11. <td><label> <input name=“object” id=“object” />

  12. </label></td>

  13. </tr>

  14. <tr>

  15. <td>Messaggio*</td>

  16. <td> <textarea cols=“30″ rows=“5″ name=“body” id=“body”></textarea></td>

  17. </tr>

  18. <tr>

  19. <td><label></label></td>

  20. <td><label><input name=“submit” type=“submit” id=“submit” /> <input name=“cancella” type=“reset” id=“cancella” />

  21. </label></td>

  22. </tr>

  23. </tbody>

  24. </table>

  25. </form>

Ogni campo di testo ha un suo id che verrà trasmesso alla pagina invio.php che processerà il tutto e spedirà i risultati all’indirizzo mail che andremo a specificare in seguito.
Come si può notare, all’apertura del tag <form> è stato aggiunto:
action=”invio.php” method=”post”
“Action” determina l’azione, ovvero invia ad invio.php tutto quello contenuto nel modulo, “post” indica invece il metodo.

Passiamo alla pagina invio.php
In invio.php ponete questo codice tra i tag body:

  1. <?php

  2.  

  3. // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineateloif ((trim($_POST[’object’]) != “”) && (trim($_POST[’body’]) != “”)) { //questo fa si che se i campi “oggetto” e “messaggio” sono vuoti la form non invia nessuna mail

  4.  

  5. $to = \n nome@dominio.it Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo “;

  6.  

  7. $headers = “From: “ . $_POST[‘mail’] . \n;

  8.  

  9. // soggetto della mail

  10.  

  11. $subject = “Modulo proveniente da www.tuosito.it”; // corpo messaggio

  12.  

  13. $body = “Contenuto del modulo:\n\n;

  14.  

  15. $body .= “Inviata da: “ . trim(stripslashes($_POST["mail"])) . \n; //indirizzo e-mail che manda la mail, come si vede riprende l’id del campo destinato all’inserimento della mail del mittente

  16.  

  17. $body .= “Oggetto: “ . trim(stripslashes($_POST["object"])) . \n; //oggetto del messaggio

  18.  

  19. $body .= “testo: “ . trim(stripslashes($_POST["body"])) . \n; //messaggio

  20.  

  21. // invio mail

  22.  

  23. mail($to, $subject, $body, $headers); // SE L’INOLTRO E’ ANDATO A BUON FINE…

  24.  

  25. echo “La mail è stata inviata con successo. Grazie per averci contattato”;

  26.  

  27. } else {// altrimenti

  28.  

  29. echo “Deve compilare la form prima di inviare.”;

  30.  

  31. }

  32.  

  33. ?>

Inserendo questo codice nella pagina invio.php e settando la vostra mail al posto di ” nome@dominio.it” riceverete una mail dalla vostra web form.

Una cosa fondamentale è la codifica dei caratteri.
Per ricevere una mail priva di lettere strane tipo questa “è” o apostrofi preceduti da ” \” è necessario che la codifica dei caratteri nei metatag sia impostata così:

  1. <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1″ />

Alcuni programmi di defaultl mettono:

  1. <meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ />

Fonte: GiorgioTave Forum

Tags: ,

3 Risposte to “Invio email”

  1. alessio Dice:

    ora provo se funziona…..poi vi farò sapere

  2. vercinstex Dice:

    forte :D
    forse sarebbe meglio cosi:

    mail($to, $subject, $body, $headers, “-femailsegnalazioneerrore”);

    /* dove -f dice che bisogna inviare un rapporto in caso di errore e emailsegnalazioneerrore è dove questo rapposto viene spedito così si può sapere sempre se un email viene inviata o meno */

  3. Francesco Dice:

    Salve…
    Vorrei sapere se all’hosting free di netson è abilitato il servizio DNS per mandare i messaggi dal form..
    Grazie..

Lascia un commento