Buonasera e grazie a tutti per la vostra disponibilità. Volevo chiedere un aiuto, se era possibile. Io devo inviare, partendo da un form abbastanza semplice, una mail che al suo interno abbia in allegato un file csv (che rappresenterà i corpo della mail) e almeno un paio di immagini o file di altro genere in allegato. Ho trovato on line un codice che fa la prima parte del lavoro che mi necessita, cioè prende i dati dal form e crea l'allegato in csv. Ho provato in diversi modi anche ad aggiungere del codice php per far si che si possano inviare anche gli altri allegati ma non sono stato capace. Posto qua il codice che ho utilizzato per l'invio della mail con l'allegato csv, che funziona bene:

codice:
<?php

$email=$_REQUEST['email'];
$firstName=$_REQUEST['firstName'];
$lastName=$_REQUEST['lastName'];

$to = "mia@mail.com";


$subject = "esempio";

$message = "".
"Email: $email" . "\n" .
"First Name: $firstName" . "\n" .
"Last Name: $lastName";

    //The Attachment

$cr = "\n";
$data = "Email" . ',' . "First Name" . ',' . "Last Name" . $cr;
$data .= "$email" . ',' . "$firstName" . ',' . "$lastName" . $cr;
$fp = fopen('esempio.csv','a');
fwrite($fp,$data);
fclose($fp);

$attachments[] = Array(
   'data' => $data,
   'name' => 'esempio.csv',
   'type' => 'application/vnd.ms-excel',
);


    //Generate a boundary string

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";


    //Add the headers for a file attachment

 
$headers = "MIME-Version: 1.0\n" .
           "From: {$from}\n" .
             "Cc: emaito@domain.com\n".
           "Content-Type: multipart/mixed;\n" .
           " boundary=\"{$mime_boundary}\"";


    //Add a multipart boundary above the plain message

 
$message = "This is a multi-part message in MIME format.\n\n" .
          "--{$mime_boundary}\n" .
          "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
          "Content-Transfer-Encoding: 7bit\n\n" .
          $text . "\n\n";


    //Add sttachments

foreach($attachments as $attachment){
   $data = chunk_split(base64_encode($attachment['data']));
   $name = $attachment['name'];
   $type = $attachment['type'];

   $message .= "--{$mime_boundary}\n" .
              "Content-Type: {$type};\n" .
              " name=\"{$name}\"\n" .              
              "Content-Transfer-Encoding: base64\n\n" .
              $data . "\n\n" ;
}


// messaggio di controllo per i campi obbligatori
// se lo sono tutti usare la prima
// se lo sono solo alcuni usare la seconda
$stringa1        = "Alcuni campi sono obbligatori!";
#$stringa1        = "Alcuni campi sono obbligatori!";

// messaggio di controllo email non valida
$stringa2        = "Correggi la tua mail per favore";

// messaggio di invio riuscito (decommentare se si usa OPZIONE1 vedi sotto)
$stringa3        = "Mail inviata grazie. Ti risponderemo al piu' presto";

if (( $firstName == "" ) || ( $email == "" ))

// popup di errore sui campi obbligatori
            {
            echo "<script language=\"JavaScript\">\n";
            echo "alert(\"$stringa1\");\n";
            echo "javascript:history.go(-1);";
            echo "</script>";
            }

// controllo del formato della email
    else if (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email))
            {

// invia la email a me
                    $message .= "--{$mime_boundary}--\n";
                    mail($to, $subject, $message, $headers);


// nelle prossime righe definisco se voglio un semplice popup che avvisa l'utente che il messaggio è stato inviato (OPZIONE1) e che lo fa ritornare automaticamente alla pagina dove ha compilato il form

// OPPURE

// se ridirezionarlo verso una pagina web specifica (OPZIONE2)


// OPZIONE1:
// popup di messaggio inviato e ritorno alla pagina precedente
// decommentare $stringa3
// commentare tutto se si usa OPZIONE2 (per commentare usare /* all'inizio e */ alla fine delle righe da commentare)

                    echo "<script language=\"JavaScript\">\n";
                    echo "alert(\"$stringa3\");\n";
                    echo "javascript:history.go(-1);";
                    echo "</script>";
            }

?>
Ho modificato un po' il codice ma funziona bene. Qualcuno può aiutarmi dicendomi come poter far si che i file che carico dal form html possono essere allegati alla mail assieme al csv? Grazie in anticipo