Ciao,
utilizzo da tempo senza problemi questo codice php (sotto) per l'invio tramite form di una mail con allegato.
Ora, non armeggiando da tempo con il php, avendo bisogno di inserire un secondo allegato nello stesso form mi sono letteralmente incartato... Modifico il codicein un modo e m invia solo il primo... lo modifico diversamente e mi invia solo il secondo... lo modifico ancora e non mi invia allegati...
qualche dritta?
Grazie
Ecco lo spezzone di codice che uso e che funziona correttamente con un allegato:
Codice PHP:
...
// ALLEGATO
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// VARIABILI
$headers = "From: " . $mittente;
$msg = "";
// VERIFICA CARICAMENTO ALLEGATO
if (is_uploaded_file($allegato))
{
// LETTURA ALLEGATO
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// ADATTAMENTO
$data = chunk_split(base64_encode($data));
// SEPARATORE
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// INTESTAZIONI ALLEGATO
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
// TIPO
$msg .= "This is a multi-part message in MIME format.\n\n";
// SEPARATORE
$msg .= "--{$mime_boundary}\n";
// TESTO MSG
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $nome . " ";
$msg .= $cognome . " | Username: ";
$msg .= $username . "\n\n";
// SEPARATORE
$msg .= "--{$mime_boundary}\n";
// INSERISCO ALLEGATO
$msg .= "Content-Disposition: attachment;\n";
$msg .= " filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
// SEPARATORE
$msg .= "--{$mime_boundary}--\n";
} // END
...