Originariamente inviato da }gu|do[z]{®©
sei tu che quando invii l'e-mail devi dire se c'è allegato o meno... e quindi aggiungere questo

$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";

solo quando c'è il file...
ho provato, ma esce sempre questo allegato .txt

Mi spiego,
se invio l'email con un allegato che scelgo, essa parte senza problemi e invia l'allegato scelto.

Se invio l'email senza allegati, quando visualizzo l'email arrivata vedo che nel messaggio c'e' sempre allegato un file chiamato ATT00029.txt