English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come utilizzare la funzione mail() di PHP per inviare email di testo o HTML direttamente dallo script.
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.
Parametro | Descrizione |
---|---|
Obbligatorio - I seguenti parametri sono obbligatori | |
a | L'indirizzo email del destinatario. |
oggetto | L'oggetto dell'email da inviare. Questo parametro, l'oggetto dell'email, non deve contenere newline (\n). |
messaggio | Definire 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 | |
intestazioni | Di 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). |
parametri | Utilizzato per passare altri parametri. |
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.'; } ?>
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.