Spedire email con il Php


Giovedì scorso nel laboratorio Mercurio, con la classe V I Mercurio abbiamo definito l'analisi di massima per la realizzazione dell'applicativo in php+Mysql per la gestione della fidelizzazione in un supermercato, nella fase di registrazione e di verifica bisognerà inviare al destinatario un'email di conferma.
Ho testato questo script e funziona sul sito www.altervista.org.


Naturalmente l'email non arriva subito ma impiega qualche minuto.
In questo esercizio viene utilizzata la funzione mail()che, una volta richiamata all'interno della nostra applicazione, contatterà il sistema postale del nostro server (SendMail o server SMTP).

Attenzione!!! Easyphp e Xampp per funzionare necessitano la configurazione del servizio SMTP del singolo server Web. Comunque vi consiglio per una questione di sicurezza del proprio pc (se il server SMTP viene configurato male diventa per gli accessi esterni non autorizzati... una porta nel vostro computer sempre aperta), di utilizzare server esterni come appunto Altervista.org.

Questa è la sintassi:

mail(destinatario, oggetto, messaggio, headers);

Ecco un picolo esempio di codice per l'invio di una mail:

<?PHP
   // Specifica la tua mail e quella del destinatario
   $mail_mittente = "mittente@sito.com";
   $mail_destinatario = "destinatario@sito.com";

   // Specifica l'oggetto ed il corpo della mail
   $mail_oggetto = "Messaggio di prova";
   $mail_corpo = "Questo è un messaggio di prova per testare la mia applicazione";

   // Invia la mail e lancia un messaggio di conferma
   if (mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente"))
   {
       echo "Messaggio inviato con successo a $mail_destinatario";
   }
   // oppure un messaggio di errore in caso di fallimento
   else
   {
       echo "Errore. Nessun messaggio inviato.";
   }
?>
E' possibile implementare questo esercizio con foto e altri campi che inviati tramite un modulo form, consentono di migliorare l'email di invio.

Questo esercizio deve essere provato dalle classi Mercurio IV D - V D - V I... e 

fatemi sapere.

Buon lavoro

prof. Paolo Latella

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)