In questo articolo vedremo come inviare un'email in formato HTML con PHP.
La soluzione è la seguente:
function send_html_mail($to, $subject, $message, $from) {
if(!filter_var($to, FILTER_VALIDATE_EMAIL)) {
return false;
}
if(empty($from)) {
return false;
}
if(empty($subject)) {
return false;
}
if(empty($message)) {
return false;
}
$headers = "From: $from\r\n";
$headers .= "Content-type: text/html\r\n";
return mail($to, $subject, $message, $headers);
}
Prima di tutto, viene effettuato un controllo sulla validità dell'indirizzo email fornito nel parametro $to utilizzando la funzione filter_var() con il filtro FILTER_VALIDATE_EMAIL. Se l'indirizzo email non è valido, la funzione restituisce il valore booleano false per indicare che l'invio dell'email non è possibile.
I successivi controlli con la funzione empty() servono a verificare se i campi del mittente, dell'oggetto e del corpo del messaggio sono vuoti. Se lo sono, la funzione restituisce false.
Se tutti i controlli precedenti hanno avuto esito positivo, la funzione procede a creare l'header dell'email. L'header è la parte iniziale del messaggio email che contiene informazioni come il mittente, il formato del contenuto e altre informazioni aggiuntive. In questo caso, viene specificato il mittente utilizzando il valore del parametro $from e viene impostato il formato del contenuto come text/html, indicando che il corpo del messaggio sarà in formato HTML.
Infine, viene usata la funzione mail() per inviare l'email. Questa funzione restituisce un valore booleano che indica l'esito dell'operazione.