Inviare e-mail dal vostro sito con php

Passiamo alla pratica e vediamo come realizzare il modulo.
Inanzitutto abbiamo bisogno di due pagine, una contenente il modulo e un altra che ne riceve i dati e li processa e, in caso positivo, li invia sotto forma di e-mail al nostro indirizzo di posta elettronica.
La pagina contente il modulo la chiameremo contatti.php, mentre la pagina con il codice php per l’invio la chiameremo mail.php.

questo il codice della pagina contatti.php :

 <form name="form1" method="post" action="mail.php">
<table width="95%" align="center" >
<tr>
<td colspan="2"><div align="center"><strong>MODULO CONTATTI </strong></div></td>
</tr>
<tr>
<td width="16%"><strong>Nome</strong></td>
<td width="84%"><input type="text" name="nome"></td>
</tr>
<tr>
<td><strong>Cognome</strong></td>
<td><input type="text" name="cognome"></td>
</tr>
<tr>
<td><strong>Citt&agrave; </strong></td>
<td><input type="text" name="citta"></td>
</tr>
<tr>
<td><strong>Indirizzo E-mail </strong></td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td><strong>Oggetto</strong></td>
<td><input type="text" name="oggetto"></td>
</tr>
<tr>
<td><strong>Testo</strong></td>
<td><textarea name="testo" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Invia">
</div></td>
</tr>
</table>
</form>

In questo caso ho usato una tabella, ma potreste benissimo usare anche div o un elenco, l’importante sono le variabili del form come ad esempio <input type=”text” name=”oggetto”>, dove name rappresenta il nome della variabile che verrà poi inviata alla pagina mail.php, molto importante anche il metodo e l’azione del form, method=”post” action=”mail.php”
Method serve per scegliere appunto il metodo con cui inviare le variabili alla pagina, esistono due metodi GET, e POST, la diferenza è che GET invia i dati tramite l’url, creando una pagina tipo contatti.php?nome=antonio&citta=Paola, POST invece invia le informazioni come parte dell’intestazione della pagina richiesta, in questo caso mail.php, evitando cosi di rendere visibili i parametri, inoltre POST accetta più tipologie di parametri a differenza di GET, come testi immagini e video.
Per questo ho usato POST e non GET.

Chiusa questa parentesi torniamo al nostro script ora dobbiamo realizzare il codice php da inserire nella pagina mail.php , vediamo il codice :

 <?php
// L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
$to = "indirizzo-dove-vuoi-ricevere-la-mail";

// IL SOGGETTO DELLA MAIL
$subject = "Modulo proveniente dal sito www.sito.it";

// COSTRUZIONE DEL CORPO DEL MESSAGGIO
$body = "Contenuto del modulo:\n\n";

$body .= "Dati personali ;<br>nome: " . trim(stripslashes($_POST["nome"])) . "\n";
$body .= "cognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
$body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n";
$body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n";
$body .= "testo: " . trim(stripslashes($_POST["testo"])) . "\n";
$body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n";

// INTESTAZIONI SUPPLEMENTARI
$headers = "From: Modulo utenti<INDIRIZZO-COME-SOPRA>";

// INVIO DELLA MAIL
if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

echo "La mail è stata inoltrata con successo.";

} else {// ALTRIMENTI...

echo "Si sono verificati dei problemi nell'invio della mail.";

}

?>

vediamolo nel dettaglio.

$to = “indirizzo-dove-vuoi-ricevere-la-mail”;

è la variabile che contiene l’indirizzo email al quale vogliamo ricevere il messaggio.

// IL SOGGETTO DELLA MAIL
$subject = “Modulo proveniente dal sito www.sito.it”;


Questa invece è la variabile che contiene il soggetto della mail, possiamo scrivere ciò che riteniamo più opportuno.
Queste sono le due variabili che dobbiamo creare per il nostro script ora passiamo alle variabili che arrivano dalla pagina contatti.php:


// COSTRUZIONE DEL CORPO DEL MESSAGGIO
$body = “Contenuto del modulo:\n\n”;

$body .= “Dati personali ;<br>nome: ” . trim(stripslashes($_POST["nome"])) . “\n”;
$body .= “cognome: ” . trim(stripslashes($_POST["cognome"])) . “\n”;
$body .= “Città: ” . trim(stripslashes($_POST["citta"])) . “\n”;
$body .= “Oggetto: ” . trim(stripslashes($_POST["cap"])) . “\n”;
$body .= “testo: ” . trim(stripslashes($_POST["provincia"])) . “\n”;
$body .= “mail: ” . trim(stripslashes($_POST["mail"])) . “\n”;


In questo modo ho concatenato le variabili unendole tutte all’interno della variabile $body, il ” . ” serve proprio a unire le variabili come spiegato nella mia guida al php per principianti.
La funzione trim invece elimina gli spazi all’inizio e alla fine della stringa e restituisce la stringa modificata.
stripslashes invece è un altra funzione di php che serve per elminare gli slash ” / “.
Infine abbiamo la variabile


$_POST["provincia"]


$_POST
indica una variabile POST, cioè proveniente da un modulo, se nel nostro modulo in contatti  avessimo messo come method GET oltre a avere la variabile nell’url avremmo dovuto scriverla cosi :

$_GET["provincia"],

il nome della variabile, come avrete già capito, va inserito all’interno di ["nome variabile"].
L’ultima parte del codice è una condizione :


if(@mail($to, $subject, $body, $headers)) { // SE L’INOLTRO E’ ANDATO A BUON FINE…

echo “La mail è stata inoltrata con successo.”;

} else {// ALTRIMENTI…

echo “Si sono verificati dei problemi nell’invio della mail.”;
}

Per verificare l’invio della mail, in caso positivo stamperà “La mail è stata inoltrata con successo.” in caso negativo : “Si sono verificati dei problemi nell’invio della mail.”, anche qui potete scrivere quello che volete.
Un ultima puntualizzazione, come avete notato prima della funzione mail ho inserito una @, non è casuale l’ho inserita per evitare la la stampa a video dei messaggi di errore predefiniti di PHP, potete anche ometterla.
:)

Importante update, visti le numerose richieste ho creato un esempio completo, testato e funzionante scaricabile. Clicca e scarica l’esempio zippato.

Viste le numerose richieste sul forum e nei commenti ho aggiornato la versione con un javascript e jquery per validare il codice e la mail, quindi ora avete un esempio completo e funzionante al 100%.

Commenta questo articolo nel forum.

1 Star2 Stars3 Stars4 Stars5 Stars (12 votes, average: 4,58 out of 5)
Loading ... Loading ...

Popularity: 72% [?]

Potrebbero interessarti anche :

74 commenti »

  1. aaaaaaaaa Dice:

    a

    comment-bottom
  2. admin Dice:

    LOL.

    ???

    comment-bottom
  3. Simone Dice:

    Nel codice di commenti.php hai messo

    ma tale comando stampa a video la scritta “invia” (virgolette incluse!) senza dare la possibilità all’utente di inviare i dati (quindi quello che dovrebbe essere stato il tasto invia non funziona)

    comment-bottom
  4. admin Dice:

    Ciao Simone, grazie per la segnalazione, ma non ho capito bene a quale parte del codice ti riferisci.
    :)
    Potresti essere piu preciso per favore?
    grazie.
    :)

    comment-bottom
  5. Simone Dice:

    Chiedo umilmente scusa…. il problema è che ignorantemente ho fatto copia-incolla e non ho notato che le virgolette “” non erano formattate per il codice ansi, ovvero non potevano essere interpretate.

    Una volta sostituite le “ ” con ” ” entrambe le pagine php sono diventate perfettamente interpretabili, quindi funzionanti.

    Colgo l’occasione per ringraziare per aver pubblicato il codice.

    Spero che l’ostacolo che mi si è presentato possa servire a chi come me ancora “zoppica” un pò in questo campo.

    Saluti e grazie ancora!

    comment-bottom
  6. Simone Dice:

    P.s. le virgolette che ho usato nell’ultimo commento sono quelle sopra il tasto 2 (cioè dritte). La presente pagina web le ha trasformate automaticamente in virgolette stile Word. Spero si sia capito comunque il significato.. :-)

    comment-bottom
  7. admin Dice:

    Grazie ad ogni modo per la segnalazione, in effetti ho problemi con il tag code del mio editor, potrebbe essere dovuto a questo.
    Ad ogni modo se ti va iscriviti al forum dove possiamo discuterne meglio, e se vedi problemi errori o altro segnalameli cosi da cercare di correggerli.
    :)
    Il orum è qua :
    http://forum.antoniofullone.it/member.php?action=register

    comment-bottom
  8. nicola Dice:

    The page cannot be displayed

    Questo e’ quello che ricevo con tutti i form email utilizzati!!

    Sto impazzendo!! Help Me

    Grazie

    comment-bottom
  9. admin Dice:

    Nicola, passaci il link della pagina altrmenti cosi e un po difficile capire il tuo errore.
    :)

    Intanto auguri e non arrabiarti siamo sotto natale!
    :)

    comment-bottom
  10. Gianluca Dice:

    Grazie mille, ho trovato questo articolo per caso e il form adesso funziona.
    Solo che anche non compilando i vari campi di testo, la mail arriva comunque vuota.
    Volevo chiedere gentilmente se c’è un modo per
    bloccare la mail se tutti i campi di testo non vengono compilati…
    Grazie Mille Ancora

    comment-bottom
  11. admin Dice:

    Ciao Gianluca.
    Inanzitutto auguri!
    :-)
    Per controllare i campi del form hai due possibilità, o lato server tramite php oppure lato client con javascript, io generalmente uso jquery e javascript per controllare i campi prima dell’invio.

    ho in programma un articolo su questo, a breve spero di riuscire a pubblicarlo.
    Ciaoo

    comment-bottom
  12. Tomark Dice:

    Salve, avrei bisogno di chiederVi una info. HO letto come mandare una mail, ma se volessi allegare ad una mail automatica un file???
    Cioè se ho un sito in pho che genera fatture e quando ne crea una, in automatico invii una copia in pdf per email. E’ possibile?? Io ora la creo in pdf, la devo salvare sul pc e inviarla dal pc. Vorrei evitare questo e farla inviare direttamente dal server???

    Grazie per il vs aiuto.

    Tomark

    comment-bottom
  13. Tomark Dice:

    Caro Antonio, avrei un’altra richiesta da farti. Io conosco un pò il PHP e per niente il javascript.
    Ho visto un sito di un amico che in un mentre scrive gli fa una select su un database e gli fa vedere tipo i dati simili sotto. Tu puoi continuare a scrivere fino alla fine nella input, però ti da la possibilità così di scegliere sotto il giusto nome e proseguire. Come si fa questa funzione???
    Scusami per il mio italiano che fa alquanto schifo.
    Ciao Marco

    comment-bottom
  14. admin Dice:

    Ciao Tomark,
    per il primo quesito si è fattibile.
    Potresti ampliare direttamente lo script che ti genera la fattura in pdf, implementando direttamente sullo script la possibibilità di inviare per mail il pdf. Il procedimento è lo stesso che segui sul tutorial solo che il file non è selezionato dal form, cosi facendo ogni volta che generi la fattura automaticamente la invii via mail.
    IL tutorial lo trovi qua:
    http://www.antoniofullone.it/tutorial/295/inviare-email-con-allegati-usando-php/
    La seconda, piu che javascript è ajax, se cerchi in rete trovi diversi script facilmente configurabili, un esempio questo :
    http://www.brandspankingnew.net/archive/2006/08/ajax_auto-suggest_auto-complete.html
    La demo la puoi vedere qua :
    http://www.brandspankingnew.net/specials/ajax_autosuggest/ajax_autosuggest_autocomplete.html
    Oppure prova su google cercando :
    autosuggest script ajax.
    hasta Luego!
    P.S: il tuo italiano è decisamente meglio del mio. :)

    comment-bottom
  15. Antonio Dice:

    Ciao Antonio,complimenti per il bellissimo ed utilissimo sito che hai elaborato.Sono qui per segnalarti un piccolo particolare: testando il suddetto script alla riga 11
    $body .= “Dati personali ;nome: ” . ho avuto problemi nella ricezione su Thunderbird,cioè non mi riconosceva il ritorno a capo, ho provato a sostituirlo con /n ossia :
    $body .= “Dati personali ;\nnome: ” . trim(stripslashes($_POST["nome"])) . “\n”; ora tutto va meglio…Un saluto…a presto

    comment-bottom
  16. admin Dice:

    Grazie per la segnalazione!
    :)

    comment-bottom
  17. Ciao Antonio, volevo solo dirti che faresti bene ad approfondire un poco il discorso degli headers nelle email.

    comment-bottom
  18. admin Dice:

    Ciao Marco,

    grazie per il consiglio, il tutorial che vedi, all’epoca fu una risposta che avevo dato in un forum a un utente, poi successivamente l’ho trasformato in tutorial, ho in programma un paio di articoli più evoluti su mail e php.
    :)
    Ciaoo

    comment-bottom
  19. dino Dice:

    Salve a voi espertoni.
    Sono nuovo del sito e vorrei porvi un problema con l’invio della posta con modulo.
    Ho copiato il codice proposto da voi e l’ho inserito nella mia pagina web chiamata contatti, lo stesso ho fatto con il codice ” mail “. Ho modificato i parametri ma il tutto non funziona! Mi dareste qualche dritta gentilmente?
    Grazie e un saluto a tutti

    comment-bottom
  20. admin Dice:

    Ciao Dino, inizia con il non copiare il codice, perche se fai copia e incolla non ti funziona, perche le virgolette, per es, qua sul sito sono formattate male, probabilmente per questo non ti funziona, prova a riscrivere il codice.

    Sto creando uno zip scaricabile con l’esempio proprio per evitare questo tipo di problemi.
    :)
    Se continui ad avere problemi facci sapere.
    Ciao

    comment-bottom
  21. dino Dice:

    grazie. Ora provo e vi faccio sapere

    comment-bottom
  22. DINO Dice:

    niente da fare! ho ricopiato tutto ma niente.
    mi si apre una pagina bianca vuota, mentre dovrebbe venire fuori la conferma o errore.

    comment-bottom
  23. admin Dice:

    Ciao Dino, perche non posti il codice ?

    TI ricordo che c’è anche il forum, magari puoi postarlo la il codice cosi vediamo dove sta il problema.
    :)

    comment-bottom
  24. DINO Dice:

    ci provo perchè non sono molto pratico

    comment-bottom
  25. DINO Dice:

    ma io ho inserito l’esempio fatto in alto pagina con contatti.html e mail.php.
    Solo che quando li inserisco nel codice della pagina web non trovo riscontro.

    comment-bottom
  26. dino Dice:

    sono ancora in panne con il modulo contatti.
    Inizio a pensare di mettere un semplice collegamento a e-mail.
    Qualcuno mi aiuta?

    comment-bottom
  27. dino Dice:

    Buongiorno a tutti.
    Volevo sapere dove immettere i due codici sopra citati perchè ho riprovato ma non mi funziona.
    Grazie

    comment-bottom
  28. admin Dice:

    Ciao Dino posta qua il codice php che hai usato, stasera quando torno a casa do un occhiata ora sono dal lavoro.
    Ciaoo

    comment-bottom
  29. Alfredo Dice:

    Ciao una cortesia ho seguito le istruzioni ma quando clicco invia la pagina successiva resta bianca e la mail non arriva.

    C’è qualche altra operazione da fare???

    Sto impazzendo

    Grazie mille.

    comment-bottom
  30. admin Dice:

    Ciao ALfredo.

    non fare copia e incolla direttamente dal sito perche non ti funzionera, per via delle virgolette e la formattazioen de ltesto… ti conviene riscrivere il codice .

    purtroppo sn senza pc appena cel’ho pubblichero una versione scaricabile e funzionante del tutorial.
    Ciao

    comment-bottom
  31. Martin Dice:

    Salve a tutti!
    Premetto che non sono un esperto ma un semplice dilettante.
    Volevo chiedere gentilmente se allo script in php è possibile aggiungere un redirect ad una determinata pagina dopo che si è aperta la pagina dell’avvenuta spedizione dell’e-mai.
    Per voi sarà una domanda stupida ma non riesco a trovare una soluzione.

    Grazie!

    comment-bottom
  32. admin Dice:

    inviata risposta martin.
    Ciao

    comment-bottom
  33. Martin Dice:

    Come hai detto ho aggiunto la stringa
    echo ”
    window.location = “http://www.tuosito.it/nuova.html”

    ma dreamweaver mi dava errore quindi ho tolto ottennendo
    echo ”
    window.location = “http://www.tuosito.it/nuova.html”
    ” ;
    A questo punto dreamweaver mi da errore sul indirizzo infatti le 2 // contenute dentro a http://www.tuosito.it/nuova.html le prende come inizio commento.

    Ho provato a spedire comunque ma mi si apre una pagina bianca senza spedire niente.

    Ti ricordo che il codice originale funziona bene.

    Invece che un redirect non è possibile che a spedizione avvenuta si possa aprire una finestrella tipo alert che ti ringrazia e che ti resetti i campi compilati tipo quella che ho utilizzato nel tuo forum nella pagina contatti?

    Ti ringrazio infinitamente per il tempo che perdi per me. Grazie!

    comment-bottom
  34. admin Dice:

    Martin, controlla bene perche non legge le due // come commenti, visto che sono contenute nel location del javascript.

    In teoria il javascript dovrebbe funzionare, controlla bene il codice, seno pasa al nostro forum, http://forum.antoniofullone.it cosi puoi postare codice pagine e tutto e possiamo capire dove sia il problema.
    Ciaoo

    comment-bottom
  35. Martin Dice:

    Alla fine c’è lo fatta!!!!!!!!!
    Ecco il codice che ho usato

    // INVIO DELLA MAIL
    if(@mail($to, $subject, $body, $headers)) { // SE L’INOLTRO E’ ANDATO A BUON FINE…
    echo ‘

    ‘;
    echo “La mail è stata inoltrata con successo.!”;
    echo “Tra 5 secondi sarai riportato alla Home Page.”;
    } else {// ALTRIMENTI…
    echo “Si è verificato un errore durante l’invio.”;
    echo “Tra 5 secondi sarai riportato al modulo dei contatti.”;
    echo ‘

    ‘;

    }

    ?>

    Grazie mille!!!!

    comment-bottom
  36. Moises Dice:

    Ciao complimenti per il tutto, vorrei farti una domanda , quando invio la email mi arriva bene, pero messenger me li segna como pericolosi, cioe ti consiglia di non aprirlo. non so come soluzionare questo problema, si debe magari a inserire qualche parametro in piu o qualche valore?
    Grazie e compliemnti ancora.

    comment-bottom
  37. admin Dice:

    @Moises : smebra strano, anche se tieni presente che il tutorial e semplice e piu che altro serve a capire coe si invia una mail con php.
    Cmq molto dipende dai client, anche con thunderbird ha dato problemi.

    Prova a veder le configurazioni del tuo client di posta.
    :)

    comment-bottom
  38. umberto Dice:

    Ciao a tutti. Hoi scaricato il file di esempio, cambiato i dati e provato a pubblicare. Quando faccio invia, mi esce però una pagina bianca con scritto quanto segue:

    nome: ” . trim(stripslashes($_POST["nome"])) . “\n”; $body .= “cognome: ” . trim(stripslashes($_POST["cognome"])) . “\n”; $body .= “Città: ” . trim(stripslashes($_POST["citta"])) . “\n”; $body .= “Oggetto: ” . trim(stripslashes($_POST["cap"])) . “\n”; $body .= “testo: ” . trim(stripslashes($_POST["provincia"])) . “\n”; $body .= “mail: ” . trim(stripslashes($_POST["mail"])) . “\n”; // INTESTAZIONI SUPPLEMENTARI $headers = “From: Modulo utentiinfo@antoniofullone.it“; // INVIO DELLA MAIL if(@mail($to, $subject, $body, $headers)) { // SE L’INOLTRO E’ ANDATO A BUON FINE… echo “La mail è stata inoltrata con successo.”; } else {// ALTRIMENTI… echo “Si sono verificati dei problemi nell’invio della mail.”; } ?>

    Qualcuno mi sa gentilmente dire la causa del problema???

    grazie
    umberto

    comment-bottom
  39. admin Dice:

    Umberto qualche errore di sintassi sicuramente, riprova a controllare la sintassi e assicurati che il tuo hosting supporti php.
    :)

    comment-bottom
  40. umberto Dice:

    se vai sul mio sito http://www.umbe.it/hely/contatti.php e provi ad inserire i dati, ti esce la pagina di errore.

    Nel pfrattempo controllo se l’hosting supporta il php.

    Ciao e grazie!!!!

    comment-bottom
  41. beppe Dice:

    molto interessante … ma come inesperto non riesco a mandare mail la pagina e’ bianca completamente. Mi puoi aiutare a risolvere il problema, ho scaricato lo zip ma niente il risultato non cambia io uso dreamweaver.
    grazie mill

    comment-bottom
  42. admin Dice:

    Ciao Beppe, prima domanda hai un server apache installato con php?

    In caso posta il codice, pero non qua, possibilmente nel forum, grazie.
    http://forum.antoniofullone.it

    Ciao

    comment-bottom
  43. beppe Dice:

    e’ uno spazio di REGISTER vorrei sistemare un sito di una mia amica.

    comment-bottom
  44. admin Dice:

    Beppe, di default ,che io sappia, register non da la possibilita di usare file php, ecco perche nn ti funziona lo script. Hai bisogno di uno spazio che supporti php, chiedi al supporto tecnico di register per vedere se puoi usare file php nel tuo hosting.
    :)

    comment-bottom
  45. Andrea Dice:

    Ciao ragazzi…complimenti per la gestione del tutorial!
    Sono alle prime armi e copiando il seguente codice e adattandolo ai miei dati ho riscontrato il seguente errore:

    “; // INVIO DELLA MAIL if (@mail($to, $subject, $body, $headers)) {echo “La mail è stata inoltrata con successo.”; } else { echo “Si sono verificati dei problemi nell’invio della mail.”; } ?>

    qualcuno saprebbe aiutarmi?
    grazie mille Andrea

    comment-bottom
  46. admin Dice:

    @Andrea, non copiare il codice postato qua, usa il file scaricabile, perche il codice qua e formattato in maniera differente.

    Ad ogni modo hai qualche problema con la sintassi. Per favore non postare codice qua nei commenti, in caso puoi anche usare il forum:
    http://forum.antoniofullone.it
    ti iscrivi in 5 minuti ed é naturalmente free.
    :)
    Cmq controlla la sintassi del tuo codice.
    Ciao

    comment-bottom
  47. samuele Dice:

    ciao
    prima di tutto volevo dire che questo codice è molto utile e pure funzionante ^^
    a differenza di molti altri che non avevano scopi..

    comuqnue volevo sapere una cosa, io voglio togliere i campi cognome, città e oggetto, su mail.php tolgo:

    $body .= “cognome: ” . trim(stripslashes($_POST["cognome"])) . “\n”;
    $body .= “Cittá: ” . trim(stripslashes($_POST["citta"])) . “\n”;
    $body .= “Oggetto: ” . trim(stripslashes($_POST["oggetto"])) . “\n”;

    faccio invia mail, e quando faccio per leggere la posta (su aruba) mi da errore e non me la apre.. come mai?

    (PS se potete rispondetemi qui: samuz93@ymail.com) grazie!

    comment-bottom
  48. dino Dice:

    Buongiorno a tutti, per validare i campi sopra citati che procedura bisogna usare?
    Grazie in anticipo

    comment-bottom
  49. admin Dice:

    Ciao DIno, puoi usare php direttamente, oppure javascript, magari con un framework come jquery.

    Vorrei pubblicare un articolo su questo, ma credimi in questo periodo non ho proprio il tempo materiale di scriverlo.
    :P

    comment-bottom
  50. The DOCtor Dice:

    Ciao ragazzi, ringrazio l’administrator per il servizio offerto (è perfetto e decisamente esaustivo).
    Ho fatto tutto quello che avete spiegato ma non funziona. Non capisco. Metto il link… potete spiegarmi perchè quando schiaccio ‘invio’ nn invia nulla?
    http://www.energeticasa.it/contatti

    comment-bottom
  51. The DOCtor Dice:

    Scusa… http://www.energeticasa.it/contatti.php è quello giusto.

    comment-bottom
  52. The DOCtor Dice:

    In più, se non rompo troppo, sul sito da me creato non so come far funzionare il ‘member login’ e nei contatti vorrei inserire un menù a tendina per la selezione dell’oggetto.
    Grazie, Luca.

    comment-bottom
  53. admin Dice:

    @The Doctor, non funziona perchè manca il tag più importante : form.
    :)

    ha inserito i campi ma non il form , all’interno del quale devi dichiarare la pagina di “action”…
    form name=”form1″ method=”post” action=”mail.php”

    e chiudere il form alla fine.

    comment-bottom
  54. зaйкa Dice:

    Занятно было почитать :) Попробуем-с тоже ответить в ближайших темах.

    comment-bottom
  55. The DOCtor Dice:

    Ma il form va applicato all’interno del table? Se si dove? Cioè debbo inserire come action:
    form name=”form1″ method=”post” action=”mail.php”

    comment-bottom
  56. The DOCtor Dice:

    Se non ti è troppo di disturbo posso avere la tua mail cosichè ti invio direttamente il file di dreamweaver?

    comment-bottom
  57. admin Dice:

    @TheDoctor. il form devi aprirlo prima della tabella.

    per la seconda domanda, purtroppo non ho il tempo materiale di rispondere a tutte le mail, sarebbe impossibile, iscriviti al forum, cosi ci sono anche altre persone che potranno aiutarti.

    forum.antoniofullone.it
    Ciao

    comment-bottom
  58. The DOCtor Dice:

    Volevo ringraziarti di cuore ADMIN… andando nel forum ho trovato la risposta che cercavo. Ora funziona!
    Thanks

    comment-bottom
  59. Marco Dice:

    ciao, io ho un problemino, in pratica qui http://spazioallaparola.altervista.org/spazio/assistenza/assistenza.html ho inserito il mio form e collegato alla email.php, solo che mi invia l’email ma non mi raccoglie i dati come mai? grazie
    p.s. ottimo tutorial complimenti l’ho tovato molto semplice

    comment-bottom
  60. admin Dice:

    Ciao Marco, dalla pagina non posso vedere il codice, sicuramente qualche variabile passata male.

    se ti va postalo nel forum qua nei commenti non si puo inserire codice.
    http://forum.antoniofullone.it
    Ciao

    comment-bottom
  61. Zeross Dice:

    grazie molte non sapendo nulla di php ci sono riuscito

    l’unica cosa è che devo mettere la pagina su internet per farlo funzionare

    ora cerco di modificarlo per uello che mi serve aggiungendo campi

    grazie per questo forum

    comment-bottom
  62. admin Dice:

    Ciao a tutti, aggiorno i commenti solo per avvisarvi che lo script é stato modificato, con l’aggiunta di jquery e una funzione per validare che la mail sia nel formato corretto e i campi siano inseriti, il tutto prima di inviare al server.

    Spero possa esservi di utilitá.
    Ciao

    comment-bottom
  63. admir Dice:

    grazie mille,
    pur sapendo pochissimo di php sono riuscito ad inserire l’invia mail nel mio sito!

    con una ricerca nel web sono anche riuscito a inserire nell’ oggetto un contatore progressivo, cosi posso ben distinguere le mail che mi arrivano!!!

    Grazie Ciao

    comment-bottom
  64. admin Dice:

    Figurati, fa piacere che i miei articoli siano utili.
    :)

    comment-bottom
  65. Il_maca Dice:

    salve ho letto brevemente l’articolo, e ho visto la riga di codice ke mi interessava:
    ma con la funzione mail() l’email che arriva viene vista come pericolosa e quindi bloccata, facendo apparire quel messaggio scomodo che avvisa l’utente e lo porta a cancellarla senza nemmeno vederne il contenuto ( e per me che la utilizzo per far attivare l’account è davvero una scocciatura)! c’è qualche sistema per eliminare questo inconveniente? grazie per la risposta!

    comment-bottom
  66. mirko Dice:

    ciao a tutti,
    apprezzo notevolmente questo post,
    solo che ho un piccolo problema,
    ho fatto una prova, solo che appena clicco su invio apre la pagina mail.php (vuota)…
    A questo indirizzo trovate la mia prova
    http://romaeventi.mobi/provamail/contatti.php

    A questo indirizzo trovate il file zip scaricato da qui.
    http://romaeventi.mobi/mail/contatti.php

    grazie in anticipo

    comment-bottom
  67. Zeross Dice:

    non sono un esperto ma credo che il tuo file “mail.php” deve essere modificato

    1- mettendolo in un template o pagina web
    2- controllando il codice php (dopo l’invio ti dovrebbe dare conferma dell’invio)

    ti allego un mio pezzo di codice (che mi funziona)

    <?php
    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "TUA-EMAIL@alice.it";
    // IL SOGGETTO DELLA MAIL
    $subject = "Modulo XYZ";
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body = "Contenuto del modulo:\n\n";
    $body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n\n";
    $body .= "Dati personali: \n\n";
    $body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n";
    $body .= "Cognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
    $body .= "Telefono: " . trim(stripslashes($_POST["tel"])) . "\n";
    $body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n\n";
    $body .= "Dati immobile: \n\n";
    $body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n";
    $body .= "Provincia: " . trim(stripslashes($_POST["provincia"])) . "\n";
    $body .= "Mq: " . trim(stripslashes($_POST["mq"])) . "\n";
    $body .= "Altre informazioni:\n" . trim(stripslashes($_POST["testo"])) . "\n";

    // INTESTAZIONI SUPPLEMENTARI
    $headers = "From: Modulo utenti”;
    // INVIO DELLA MAIL
    if(@mail($to, $subject, $body, $headers)) {
    // SE L’INOLTRO E’ ANDATO A BUON FINE…
    echo “La mail è stata inoltrata con successo.”; } else {
    // ALTRIMENTI…
    echo “Si sono verificati dei problemi nell’invio della mail.”; }
    ?>

    comment-bottom
  68. Zeross Dice:

    ciao mirko non sono un esperto ma la pagina che devi controllare è “mail.php” a me mi da un mess. di avvenuta invio, quindi credo non c’è il controllo sul codice php di questa pagina ti scrivo il php che funziona poi te lo aggiusti con le variabili che ti servono:

    <?php
    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "web.assistenza@alice.it";
    // IL SOGGETTO DELLA MAIL
    $subject = "Modulo Fai valutare il tuo immobile";
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body = "Contenuto del modulo:\n\n";
    $body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n\n";
    $body .= "Dati personali: \n\n";
    $body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n";
    $body .= "Cognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
    $body .= "Telefono: " . trim(stripslashes($_POST["tel"])) . "\n";
    $body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n\n";
    $body .= "Dati immobile: \n\n";
    $body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n";
    $body .= "Provincia: " . trim(stripslashes($_POST["provincia"])) . "\n";
    $body .= "Mq: " . trim(stripslashes($_POST["mq"])) . "\n";
    $body .= "Altre informazioni:\n" . trim(stripslashes($_POST["testo"])) . "\n";

    // INTESTAZIONI SUPPLEMENTARI
    $headers = "From: Modulo utenti”;
    // INVIO DELLA MAIL
    if(@mail($to, $subject, $body, $headers)) {
    // SE L’INOLTRO E’ ANDATO A BUON FINE…
    echo “La mail è stata inoltrata con successo.”; } else {
    // ALTRIMENTI…
    echo “Si sono verificati dei problemi nell’invio della mail.”; }
    ?>

    comment-bottom
  69. Zeross Dice:

    ciao Mirko
    prova a mettere mirkopulvirenti@gmail.com

    anche sulla righa:
    $headers = “From: Modulo utenti”;

    al posto di :INDIRIZZO-COME-SOPRA

    comment-bottom
  70. admin Dice:

    Nel forum ci sono diversi 3d appositi sull’argomento :
    http://forum.antoniofullone.it/php-mysql-f-13.html

    Potete anche usare il forum per discuterne, forse è meglio che scrivere codice nei commenti :)

    comment-bottom
  71. Zeross Dice:

    in effeti ho scritto i primi 2 mess con i codici che però non me li ha pubblicati poi il terzo mess quello + corto me lo ha messo
    a distanza di un giorno li ha caricati

    cmq il 3° mess credo che risolva il problema di Mirko

    comment-bottom
  72. pippo Dice:

    ho scaricato le pagine
    mi spedisce l’email
    ma dei dati mi arriva solo l’oggetto della email

    perche?

    questi sono i codici

    contatti.php
    ——————–

    MODULO CONTATTI

    Nome

    Cognome

    Città

    Indirizzo E-mail

    Oggetto

    Testo

     

    mail.php
    —————-

    se puoi fammi sapere grazie

    comment-bottom
  73. Zeross Dice:

    ok pippo ho fatto una pagina di invio molto simile a quello che chiedevi tu quindi lo modificata levando i campi in più,

    provali dovrebbero funzionare fammi sapere.

    codice contatti.php:
    ————————

    MODULO INVIO MAIL

    Nome
    Cognome
    E-mail
    Città*

    Oggetto

    TESTO
    Testo…

     

    ————————
    codice mail.php:
    ————————

    <?php
    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "AAA@AAA.IT";
    // IL SOGGETTO DELLA MAIL
    $subject = "MODULO INVIO MAIL";
    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body = "Contenuto del modulo:\n\n";
    $body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n\n";
    $body .= "Dati personali: \n\n";
    $body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n";
    $body .= "Cognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
    $body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n\n";
    $body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n";
    $body .= "Testo:\n" . trim(stripslashes($_POST["testo"])) . "\n";

    // INTESTAZIONI SUPPLEMENTARI
    $headers = "From: Modulo utenti”;
    // INVIO DELLA MAIL
    if(@mail($to, $subject, $body, $headers)) {
    // SE L’INOLTRO E’ ANDATO A BUON FINE…
    echo “La mail è stata inoltrata con successo.”; } else {
    // ALTRIMENTI…
    echo “Si sono verificati dei problemi nell’invio della mail.”; }
    ?>

    ————————

    comment-bottom

Trackbacks

  1. [...] dopo aver visto come inviare email da un form html con php, proviamo a fare qualcosa un pochettino più complicato, aggiungiamo un allegato al nostro form, [...]

    comment-bottom
  2. [...] Vi chiediamo di evitare i messaggi spam perche verrano cestinati direttamente, inoltre ringraziamo Antonio Fullone per il nostro [...]

    comment-bottom

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento