Buongiorno
sto diventando matta nel cercare di capire perchè questo script non funziona
vi spiego: ho un form che recupera dei dati e li invia a questo script
nel form c'è anche un campo allega
i dati vengono spediti, ma l'allegato arriva sempre di Kb 0
non so proprio dove sta l'errore
Codice PHP:
<?php
// RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
$vardataora = date("d/m/Y H:i:s");
$subject = "e-mail proveniente dal sito";
$subj= "$vardataora
Questo messaggio ti è stato inviato da : " . $_POST["nameC"] . " " . $_POST["surname"] ." .
Email : " . $_POST["email"] . ".
Testo del messaggio :
";
// RIPULIAMO I VARI CAMPI DEL MODULO
//originale $Destinatario = trim($_POST["Destinatario"]);
$Destinatario = "n_nadia80@libero.it";
//originale $Soggetto = trim(stripslashes($_POST["Soggetto"]));
$vardataora = date("d/m/Y H:i:s");
$Soggetto = "e-mail proveniente dal sito;";
//$subj= ;
// originale $Contenuto = trim(stripslashes($_POST["Contenuto"]));
$Contenuto = "$vardataora
" . $_POST["messaggio"] . "
mittente: " . $_POST["nameC"] . ";
// 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\"";
$mail_headers .= "X-attachments: $file_name\n";
//-----------------------
//$msg_body .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
//$msg_body .= "Content-transfer-encoding: 7BIT\n";
//$msg_body .= "<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n";
//$msg_body .= $subj;
// $msg_body .= $body; //
//-------------------
// COSTRUIAMO IL CORPO DELLA MAIL
$mail_body = "--$boundary\n";
//originale $mail_body .= "Content-Type: text/plain; charset=us-ascii\n";
$mail_body .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
//mio
//$mail_body .= "Content-Description: Mail message body\n\n";
$mail_body .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
$mail_body .= "<html><head></head><body><font face=arial>\n";
//fine mio
$mail_body .= "$Contenuto\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 .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";
// INVIO DELLA MAIL
if(@mail($Destinatario, $Soggetto, $mail_body, $mail_headers)) { // SE L'INVIO È ANDATO A BUON FINE...
echo "<html><body bgcolor=#CCCCCC><center><font face=arial>La mail è stata inoltrata con successo.<font></center></body></html>";
} else {// ALTRIMENTI...
echo "Si sono verificati dei problemi nell'invio della mail.";
}
?>