Salve, sto cercando di inviare un immagine in allegato via email con il seguente script

Codice PHP:


<?php


 
$fileDaInviare 
"ciao.jpeg"// path del file da inviare
$tipoFile ="image/jpeg"// il MIME type del file
$nuovoNome ="immagine.jpg"// il nuovo nome che verrà utilizzato per il file allegato
$mittente ="domenico@lib.it"// il mittente della mail
$oggetto ="ciao"// l’oggetto della mail
$testo_email ="ciao"// messaggio della mail
$destinatario ="ioo@libero.it"// il destinatario della mail
/* da qui inizia il setup della mail : */
$headers ="From:".$mittente."\r\n"//imposto il mittente
$file fopen($fileDaInviare,'rb'); //leggo il file da allegare
$data fread($file,filesize($fileDaInviare));
fclose($file);
$semi_rand md5(time()); //imposto il MIME boundary per gli header (stringa unica)
$mime_boundary ="==Multipart_Boundary_x{$semi_rand}x";
// setto gli headers
$headers .="\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// setto la codifica della mail
$testo_email .="This is a multi-part message in MIME format.\n\n" .
"–{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$testo_email .="\n\n";
$data chunk_split(base64_encode($data)); //codifico il file…
// …e lo allego alla mail
$testo_email .="–{$mime_boundary}\n" .
"Content-Type: {$tipoFile};\n" .
" name=\"{$nuovoNome}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data .="\n\n–{$mime_boundary}–\n";
// ora posso inviare la mail normalmente
$ok = @mail($destinatario$oggetto$testo_email$headers);
if(
$ok) {
echo
"La mail è stata inviata con successo!";
} else {
die(
"Errore: la mail non può essere spedita.");
}


 }
?>
L email arriva a destinazione ma in allegato non compare nulla ,nel corpo della mail ricevuta compare il seguente testo

MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="==Multipart_Boundary_xd40f7f931b2e105a86 c9827db69c2479x"

ciao

This is a multi-part message in MIME format.

–==Multipart_Boundary_xd40f7f931b2e105a86c9827db69 c2479x
Content-Type:text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

ciao

–==Multipart_Boundary_xd40f7f931b2e105a86c9827db69 c2479x
Content-Type: image/jpeg;
name="immagine.jpg"
Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAgAAAQABAAD//gAEKgD/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNtcwIQAABt

bnRyUkdCIFhZWiAH3AABABkAAwApADlhY3NwQVBQTAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAA

9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAApkZXNjAAAA/AAAAF5jcHJ0AAABXAAAAAt3dHB0AAABaAAAABRia3B0AAABfAA AABRyWFla

AAABkAAAABRnWFlaAAABpAAAABRiWFlaAAABuAAAABRyVFJDAA ABzAAAAEBnVFJDAAABzAAAAEBi

VFJDAAABzAAAAEBkZXNjAAAAAAAAAANjMgAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAA

cosa sbaglio ? Grazie