Ciao a tutti,
sto studiando il codice esposto nell'aticolo E-mail in formato HTML con PHP di cui vi allego per praticità il codice:
codice:
<?php
// costruiamo alcune intestazioni generali
$header = "From: Inviante <inviante@dominio.org>\n";
//$header .= "CC: Altro Ricevente <altroricevente@dominio.net>\n";
$header .= "X-Mailer: Il nostro Php\n";
// generiamo le stringhe utilizzate come separatori
$boundary = "==String_Boundary_x" .md5(time()). "x";
$boundary2 = "==String_Boundary2_y" .md5(time()). "y";
// costruiamo le intestazioni specifiche per un messaggio
// con parti relazionate
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/related;\n";
$header .= " type=\"multipart/alternative\";\n";
$header .= " boundary=\"$boundary\";\n\n";
$messaggio = "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";
// il primo segmento del multipart/related
// è definito come multipart/alternative
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: multipart/alternative;\n";
$messaggio .= " boundary=\"$boundary2\";\n\n";
// sezione alternativa in puro testo
$messaggio .= "--$boundary2\n";
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "Messaggio alternativo in formato testo.\n\n";
// sezione alternativa in formato html
$messaggio .= "--$boundary2\n";
$messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "<html><body>
Questo messaggio è in formato html ma ha una parte testo.</p>
Visita il sito <a href=\"http://www.html.it\">www.html.it</a><img src=\"cid:MiaImmagine123\"></p></body></html>\n";
// chiusura della sezione multipart/alternative
$messaggio .= "--$boundary2--\n";
// seconda sezione del multipart/related contenente l'immagine
$messaggio .= "--$boundary\n";
$messaggio .= "Content-ID: <MiaImmagine123>\n";
$messaggio .= "Content-Type: image/jpeg\n";
$messaggio .= "Content-Transfer-Encoding: base64\n\n";
$allegato = "../immagini/logo.jpg";
$file = fopen($allegato,'rb');
$data = fread($file,filesize($allegato));
fclose($file);
$data = chunk_split(base64_encode($data));
$messaggio .= "$data\n\n";
// chiusura della sezione multipart/related
$messaggio .= "--$boundary--\n";
$subject = "oggetto del messaggio alternativo con immagini inline";
if( @mail("tizio@localhost", $subject, $messaggio, $header) ) echo "e-mail inviata con successo!";
else echo "errore nell'invio dell'e-mail!";
?>
Il codice funziona, nel senso che effettivamente la mail viene trasmessa ma l'immagine allegata non c'è: cosa sbaglio? 
Naturalmente per testare questo script ho già installato un mail server che ho precedentemente testato inviando delle mail tra due account che ho creato appositamente, perciò non credo che il problema dipenda da questo.
Chi mi aiuta?