English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Invio di email PHP

In questo tutorial, imparerai come utilizzare la funzione mail() di PHP per inviare email di testo o HTML direttamente dallo script.

Funzione mail() di PHP

Inviare messaggi email è comune nelle applicazioni web, ad esempio, inviare email di benvenuto quando gli utenti creano un account sul tuo sito, inviare newsletter ai tuoi utenti registrati, raccogliere feedback o commenti degli utenti tramite il modulo di contatto del sito, ecc.

Puoi utilizzare la funzione integrata di PHP mail() per creare e inviare messaggi email in formato testo o HTML dinamicamente da un'applicazione PHP. La sintassi di base della funzione può essere fornita nel modo seguente:

mail(to, subject, message, headers, parameters)

La seguente tabella riassume i parametri di questa funzione.

ParametroDescrizione
Obbligatorio - I seguenti parametri sono obbligatori
aL'indirizzo email del destinatario.
oggettoL'oggetto dell'email da inviare. Questo parametro, l'oggetto dell'email, non deve contenere newline (\n).
messaggioDefinire il messaggio da inviare. Ogni riga deve essere separata da un newline LF (\n). Il numero di righe non deve superare i 70 caratteri.
Opzionale - I seguenti parametri sono opzionali
intestazioniDi solito utilizzati per aggiungere intestazioni aggiuntive, come 'mittente', 'copia', 'copia segreta'. Le intestazioni aggiuntive devono essere separate da un ritorno a capo e un newline CRLF (\r\n).
parametriUtilizzato per passare altri parametri.

Inviare un'email di testo

Il modo più semplice per inviare un'email in PHP è inviare un'email di testo. Nell'esempio seguente, prima dichiariamo le variabili - l'indirizzo email del destinatario, l'oggetto e il corpo dell'email - quindi passiamo queste variabili alla funzione mail() per inviare l'email.

<?php
$to = '[email protected]';
$subject = 'Proponzione';
'message' = 'Ciao, Jian, sei disposto a sposarmi?'; 
$from = '[email protected]';
 
//Invio dell'email
if(mail($to, $subject, $message)){
    echo 'La tua email è stata inviata con successo.';
} else {
    echo 'Impossibile inviare l'email. Riprova ancora.';
}
?>

Invio di una email in formato HTML

Quando si invia un messaggio di testo tramite PHP, tutto il contenuto viene considerato testo semplice. Miglioreremo l'output e trasformeremo l'email in formato HTML.

Il processo sarà lo stesso per inviare una email HTML. Tuttavia, questa volta, dobbiamo fornire altri intestazioni e un messaggio in formato HTML.

<?php
$to = '[email protected]';
$subject = 'Proponzione';
$from = '[email protected]';
 
//Per inviare una email HTML, è necessario impostare l'intestazione Content-type
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
//Creazione dell'intestazione dell'email
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n".
    'X-Mailer: PHP/' . phpversion();
 
//Scrivi un'email HTML semplice
$message = '<html>';
$message .= '<h1 style="color:#f40;">Ciao Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Vuoi sposarmi?</p>';
$message .= '</html>';
 
//Invio dell'email
if(mail($to, $subject, $message, $headers)){
    echo 'La tua email è stata inviata con successo.';
} else {
    echo 'Impossibile inviare l'email. Riprova ancora.';
}
?>

Attenzione:La funzione PHP mail() fa parte del nucleo di PHP, ma devi configurare un server di posta elettronica sul tuo computer per farla funzionare correttamente.

Nei prossimi due capitoli (Elaborazione dei moduli PHPeValidazione dei moduli PHPIn questo contesto, imparerai come implementare un modulo di contatto interattivo sul tuo sito web per ricevere le recensioni e le feedback degli utenti tramite email utilizzando questa funzione di invio email PHP.