PHP  »  Articoli  »  Programmazione Php 

E-mail in formato HTML con PHP

di: Ermanno Ancona     23 Settembre 2004

Introduzione

In questo articolo vedremo come sfruttare PHP per inviare e-mail in formato HTML. So già che qualcuno obbietterà che non è necessario utilizzare l'HTML nella comunicazione via posta elettronica, che il puro testo è sufficiente oltre che più "leggero" e più sicuro. Questo va bene per noi programmatori, ma il resto del modo apprezza messaggi colorati, magari composti da qualche immagine o suono. Allora utilizziamo al meglio gli strumenti messi a disposizione da PHP per confezionare messaggi vivaci e ben formattati.

Partiamo dal presupposto che il file php.ini sia correttamente configurato nella sezione [mail function] per l'invio di messaggi di posta elettronica. Per maggiori dettagli si rimanda all'articolo La La funzione mail() o alla documentazione ufficiale.

Lo strumento principale che utilizzeremo sarà la funzione mail(). Tale funzione prevede cinque argomenti tre dei quali obbligatori: l'indirizzo o gli indirizzi dei destinatari (basterà separarli con la virgola), l'oggetto del messaggio, il testo del messaggio.

<?php
mail("destinatario@dominio.it","oggetto del messaggio","testo del messaggio");
?>

Dei due argomenti facoltativi prenderemo in considerazione solo il primo, cioè quello che ci permette di specificare le intestazioni o headers del messaggio.

Facciamo un po' di chiarezza in proposito: ogni e-mail è sostanzialmente costituita da due sezioni, le cosiddette intestazioni ed il corpo vero e proprio del messaggio. Tali sezioni per essere distinguibili sono separate da una linea vuota. Ogni intestazione è caratterizzata da un nome seguito da un valore. Ecco un esempio di alcune possibili intestazioni:

To: Ricevente <ricevente@dominio.it>
From: Inviante <inviante@dominio.org>
CC: Altro Ricevente <altroricevente@dominio.net>
Bcc: Ricevente Nascosto <nascosto@dominio.com>
X-Mailer: Il nostro Php

Alcune intestazioni sono standardizzate (To, From, CC, Bcc, ecc.) altre invece non lo sono ed iniziano per X-, come X-Mailer, che ci permette di indicare il programma utilizzato per l'invio del messaggio. Quando inviamo un'e-mail con il nostro programma di posta elettronica preferito questi si occupa di generare le corrette intestazioni. Altre intestazioni corrispondono ai mail server coinvolti nella comunicazione. Il codice seguente esemplifica, invece, come ottenere con PHP un messaggio con le intestazioni sopra descritte:

<?php
$header = "To: Ricevente <ricevente@dominio.it>\n";
$header .= "From: Inviante <inviante@dominio.org>\n";
$header .= "CC: Altro Ricevente <altroricevente@dominio.net>\n";
$header .= "Bcc: Ricevente Nascosto <nascosto@dominio.net>\n";
$header .= "X-Mailer: Il nostro Php\n\n";
$oggetto = "oggetto del messaggio";
$messaggio = "testo del messaggio vero e proprio";
mail("ricevente@dominio.it",$oggetto,$messaggio,$header);
?>

Guide PHP

Guida Symfony

Scopriamo quanto è facile programmare in PHP. Una guida al framework...

Guida PHP e MySql pratica

Esaminare e comprendere i comandi fondamentali di interazione tra...

Guida programmazione ad oggetti con PHP 5

Come creare applicazioni Web utilizzando la programmazione orientata...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster con PHP

01 Marzo 2010 a Milano
Disponibilità: 8 Posti

Corso Amministratore Linux

15 Febbraio 2010 a Roma
Disponibilità: 7 Posti

Corso Webmaster con PHP

29 Marzo 2010 a Roma
Disponibilità: 7 Posti