PHP: inviare un'email in formato HTML

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.

Torna su