inviare mail html con php server aruba

Voglio condividere con tutti i miei lettori un’esperienza che mi è appena successa. Il problema che ho dovuto affrontare è la difficoltà ad inviare mail html da pagine php, ospitate nei server di Aruba.
In particolare avevo creato la famosa pagina “Contatti”, presente praticamente in tutti i siti delle aziende, e non.

Il form che avevo creato era una procedura “standard” per l’invio delle mail. Si inseriscono i dati come nome mittente, mail, oggetto e testo, si prendono, si formattano e si invia il messaggio con la funzione mail di php.

Per implementare correttamente la funzione mail su hosting Aruba bisogna impostare correttamente i campi From e gli headers della mail.

Ecco il codice che compone la pagina che prende i dati dal form, crea il testo e intestazioni e manda la mail all’indirizzo impostato.


// Creo i vari campi prendendoli dal forma della pagina precedente
$nome_mittente = $_REQUEST['nome_mittente'];
$mail_mittente = $_REQUEST['mail_mittente'];
$oggetto_mail = $_REQUEST['oggetto_mail'];
$testo = $_REQUEST['testo'];
$destinatario = "mioindirizzo@postaelettronica.com"
// Intestazioni generali
$header = "From: $nome_mittente <$mail_mittente>\n";
// Intestazioni specifiche per Mail HTML
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: 7bit\n\n";
// Testo in formato HTML
$messaggio = "<html><body><p>";
$messaggio .= $testo_mail;
$messaggio .="</p></body></html>";
// inviamo la mail
mail($destinatario, $oggetto_mail;, $messaggio, $header);

Ovviamente nel form della pagina precedente si inserirà un campo nome, mail, oggetto e testo della mail.

Potremo personalizzare il codice, impostando una mail destinatario come ho fatto io, o farla inserire nel form.
Possiamo infine formattare la mail come vogliamo,modificando le parti all’interno di <html>, quello che non bisogna modificare è l’intestazione.