problema con invio allegati

lorenzo_jazz

Utente Attivo
10 Apr 2008
53
0
0
Ciao a tutti!!!
E' da un paio di giorni che sto combattendo con un piccolo script, che dovrebbe spedire gli allegati di una mail, solo che quando lo provo, il server non riesce a caricare il file che allego!!! Lo script e' il seguente:

<?php
$nomefile_tmp=$_FILES['attachment'] ['tmp_name'];
$tipoallegato_file=$_FILES['attachment'] ['type'];
$nomeallegato=$_FILES['attachment'] ['name'];
$nome=$_POST["nome"];
$cognome=$_POST["cognome"];
$mail=$_POST["mail"];
$testo_mail=$_POST['messaggio'];

/// recupero contenuto file ////
if (is_uploaded_file($nomefile_tmp)) {


$textfile=fopen($nomefile_tmp,"r");
$dati_allegato=fread($texfile,filesize($nomefile_tmp)); // leggo dati relativi al file
fclose($textfile);

$dati_allegato=chunk_split(base64_encode($dati_allegato));
$numero_casuale=md5(time()); //// creo codice delimitatore casuale
$cod_delimitatore="----=_NextPart_$numero_casuale"; /// imposto codice delimitatore

$tipo_mail="MIME-Version:1.0\nContent-type:multipart/mixed;boudary=$cod_delimitatore";
$mittente="From:[email protected]\n$tipo_mail";
$destinatario="[email protected]";
$oggetto="Prova mail con allegato";

/// creazione delle parti del messaggio ////
$message_a="This is a multi-part message in MIME format.\n\n".
"--$cod_delimitatore\n"."Content-Type: text/plain; charset=\"iso-8859-1\"\n"."Content-Transfer-Encoding: 7bit\n\n"."$testo_mail\n\n";

$message_b="--$cod_delimitatore\n".
"Content-Type:$tipoallegato; name=\"$nomeallegato\"\n".
"Content-Disposition: attachment; filename=\"$nomeallegato\"\n".
"Content-Transfer-Encoding: Base64\n\n".
"$dati_allegato\n\n".
"--$cod_delimitatore--\n";

$mesage_comp="$message_a"."$message_b";


/// parametri invio mail //////
mail($destinatario,$oggetto,$mesage_comp,$tipo_mail);
echo "Allegato inviato con successo";
} else { echo "Allegato non caricato";
}
?>

Non riesco a trovare l'errore!!!!!!!
Grazie in anticipo!!!:byebye:
 
ci sono numerosi errori nel codice, per esempio dovrebbe essere:
PHP:
$dati_allegato=fread($texfile,filesize($nomefile_tmp))
e non
PHP:
$dati_allegato=fread($texfile,filesize($nomefile_t mp))

poi

PHP:
$mittente="From:[email protected]\n$tipo_mail";
e non
PHP:
$mittente="From:[email protected]\n$tipo_ma il";
ma sarebbe ancora più corretto:
PHP:
$mittente="From:[email protected]\n".$tipo_mail";

poi:

PHP:
$mesage_comp=$message_a.$message_b;

e

PHP:
mail($destinatario,$oggetto,$mesage_comp,$tipo_mail);

Dai una ricontrollata a tutto.
 

Discussioni simili