Ciao a tutti...
Ho uno script che leggendo dei dati in una tabella del mio DB va a creare un file CSV che poi devo allegare ad una mail e inviare...
Beh funziona tutto, sia l'invio mail che la creazione del CSV solo che fino a quando il CSV è vuoto viene creato e inviato in allegato, ma quando i dati raccolti dal DB ci sono, il file viene creato, ma la mail non arriva più, forse dovrei verificare prima dell'invio della mail che il file sia stato creato completamente? Boh...

Codice PHP:
//apre il file CSV
$fp=fopen("csv/".$nomeFile,"w");
$intestazione "fiscal_code,acc_number,stato_popup_disservizio,codice_messaggio,stato_popup";
fwrite($fp$intestazione."\n");

//Ciclo sui risultati
while($row=mysql_fetch_array($res)){
    
$line $row['idUtenza'].",".$row['CodiceCliente'].",1,1,1\n";
    
fwrite($fp$line);
}

fclose($fp);


$to "MIAEMAIL...;";
$subject "SUBJECT DELLA MAIL";

//Allegato
$mime_boundary "<<<--==+X[".md5(time())."]";
$headers .= "From: Report <aaaa@aaaa.net>\r\n"
$headers .= "To: Report <aaaa@aaaa.net>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= " boundary=\"".$mime_boundary."\"";
$message .= "This is a multi-part message in MIME format.\r\n";
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n"
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";
$message .= "Buongiorno, \r\n";
$message .= "in allegato il file di report sulle attivazioni eseguite nella settimana dal ".$dataItStart." al ".$dataItEnd." \r\n";
$message .= "--".$mime_boundary."\r\n";
$message .= "Content-Type: application/octet-stream;\r\n";
$message .= " name=\"MIO REPORT - dal ".$dataItStart." al ".$dataItEnd.".csv\"\r\n";
$message .= "Content-Transfer-Encoding: quoted-printable\r\n";
$message .= "Content-Disposition: attachment;\r\n";
$message .= " filename=\"MIO REPORT - dal ".$dataItStart." al ".$dataItEnd.".csv\"\r\n";
$message .= "\r\n";
$message .= $fileContent;
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";

if (
mail($to$subject$message$headers)) {
  echo(
"

Messaggio inviato!</p>"
);
 } else {
  echo(
"

Messaggio non inviato</p>"
);
 }

?> 
Quindi perchè se faccio una query semplice che non restituisce record, la mail parte con l'allegato, mentre se la query restituisce dei risultati (il file viene creato e ha il contenuto corretto) ma non arriva la mail?