Problema postato ormai mille volte, ma io sto impazzendo.
Fino a qualche giorno fa funzionava benissimo, ora manda la mail ma con l'allegato ma vuoto [0 byte].
Ci sto perdendo le ore.
<?php
// DESTINATARIO
$To = "io@io.it";
// IL SOGGETTO DELLA MAIL
$Soggetto = "Ciao a tutti !";
// ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
$attach = $_FILES["Allegato"]["tmp_name"];
$file_name = $_FILES["Allegato"]["name"];
$file_type = $_FILES["Allegato"]["type"];
$file_size = $_FILES["Allegato"]["size"];
// DELIMITATORE
$boundary = md5(uniqid(microtime()));
// APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
$file = @fopen($attach, "r");
$contents = @fread($file, $file_size);
$encoded_attach = chunk_split(base64_encode($contents));
@fclose($file);
// INTESTAZIONI DELLA MAIL
$mail_headers .= "MIME-version: 1.0\n";
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\n";
$mail_headers .= "Content-transfer-encoding: 7BIT\n";
$mail_headers .= "X-attachments: $file_name\n";
// COSTRUIAMO IL CORPO DELLA MAIL
$mail_body = "--$boundary\n";
$mail_body .= "Content-Type: text/plain; charset=us-ascii\n";
$mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
$mail_body .= "Contenuto del modulo:\n\n";
$mail_body .= "Nome: " . trim(stripslashes($_POST["Nome"])) . "\n";
$mail_body .= "Cognome: " . trim(stripslashes($_POST["Cognome"])) . "\n";
$mail_body .= "Recapito: " . trim(stripslashes($_POST["Recapito"])) . "\n";
$mail_body .= "Città: " . trim(stripslashes($_POST["Città"])) . "\n";
$mail_body .= "Provincia: " . trim(stripslashes($_POST["Provincia"])) . "\n";
$mail_body .= "CAP: " . trim(stripslashes($_POST["CAP"])) . "\n";
$mail_body .= "Tefefono: " . trim(stripslashes($_POST["Telefono"])) . "\n";
$mail_body .= "E-Mail: " . trim(stripslashes($_POST["Mail"])) . "\n";
$mail_body .= "Didascalia: " . trim(stripslashes($_POST["Commenti"])) . "\n";
$mail_body .= "Foto:\n\n";
$mail_body .= "--$boundary\n";
$mail_body .= "Content-type: $file_type; name=\"$file_name\"\n";
$mail_body .= "Content-Transfer-Encoding: BASE64\n";
$mail_body .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";
// INVIO DELLA MAIL
if(@mail($To, $Soggetto, $mail_body, $mail_headers)) { // SE L'INVIO E' ANDATO A BUON FINE...
header("Location:http://quellochevuoi.tu");
} else {// ALTRIMENTI...
echo "Si sono verificati dei problemi nell'invio della mail.";
}
?>