PROGRAMMIAMO
PHP - Invio automatico mail
Invio automatico mail dal server

Il problema dell'invio dati da un form attraverso il php è stato già affrontato, in termini più sintetici e generali, nella lezione dedicata ai form in html. Consideriamo ora di nuovo il form presentato nella lezione precedente:

Nome:
Cognome:
Indirizzo mail:

Scrivi qui sotto il tuo messaggio:


con il seguente PHP:


<form method="get" action="elabora.php" enctype="multipart/form-data">

<strong>Nome:</strong><input type="text" name="nome" /> <br />
<strong>Cognome: </strong> <input type="text" name="cognome" /> <br />
<strong>Indirizzo mail:</strong><input type="text" name="mail" />

<p><strong>Scrivi qui sotto il tuo messaggio:</strong></p>
<textarea name="messaggio" cols="30" ></textarea> <br />

<input type="submit" value="Invia" />

</form>

e supponiamo di voler scrivere una pagina "elabora.php" che riceve i valori del form e li invia a un indirizzo mail (l'indirizzo mail del webmaster, il proprietario del sito). La situazione è schematizzata nella figura seguente:

Per inviare una mail dal server a un indirizzo di posta elettronica bisogna usare l'istruzione mail, con la seguente sintassi (semplificata):

mail(destinatario, oggetto, messaggio);

dove:

- destinatario è l'indirizzo mail a cui dovrà essere inviata la mail;
- oggetto è l'oggetto (il titolo) della mai;
- messaggio è il messaggio contenuto nel corpo della mail.

Con riferimento al nostro esempio precedente, ecco come potrebbe essere scritta la pagina elabora.php per l'invio dei dati del form all'indirizzo webmaster@programmiamo.it:

<?php
$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];
$mail = $_REQUEST['mail'];
$messaggio = $_REQUEST['messaggio'];

$titolo = "Messaggio da un visitatore del sito";
$corpo = "Messaggio da ".$nome." ".$cognome."(email ".$mail.")";
$corpo = $corpo."\n".$messaggio;

mail("webmaster@programmiamo.it",$titolo,$corpo);

?>

A questo punto il webmaster riceverà (direttamente dal server che ospita il suo sito) una mail di questo genere:

Si noti il campo Da: che contiene Apache: si tratta del nome del server che ha inviato il messaggio all'utente.

precedente - successiva

Sito realizzato in base al template offerto da
Graphixmania.it - Grafica e non solo
http://www.graphixmania.it