Gentili esperti,
ho questo codice per l'invio di una mail con allegato perfettamente funzionante:

Codice PHP:
 <html>
<head>
<title>MMKit Tutorial - Send mail with attach</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#D2D2D2" leftmargin="3" topmargin="3" marginwidth="0" marginheight="0" text="#000000">
<?
function validate_upload($thefile) {
    global 
$thefile_type$thefile_name$thefile_size;
  
$my_max_file_size     "102400"# in bytes

    
$registered_types = array(
                    
"application/msword" => ".doc",
                    
"application/octet-stream" => ".doc"
                    
); # these are only a few examples, you can find many more!
    
$allowed_types = array("application/msword""application/octet-stream");
    
$start_error "\n";
    if (
$thefile == "none") { # do we even have a file?
        
$error .= "\n- Nessun documento allegato.
"
;
    } else { 
# check if we are allowed to upload this file_type
        
if ($thefile_size>$my_max_file_size$error .= "\n- Il file allegato supera la dimensione massima consentita.
"
;
        if (!
in_array($thefile_type$allowed_types)) {
            
$error .= "\n- Il file che hai inserito non &egrave; del tipo richiesto:
                        
\n"
;
            while (
$type current($allowed_types)) {
                
$error .= "\n" $registered_types[$type] . " (" $type ")
"
;
                
next($allowed_types);
            }
            
$error .= "\n";
        }
        if (
$error) {
            
$error $start_error $error "\n";
            return 
$error;
        } else {
            return 
false;
        }
    }
# END validate_upload
?> 
<font face="Arial, Helvetica, sans-serif" size="2">

<?
if ($op=="invio") {
    
$error=0;
    
$msg="";
    if (
$nome=="") {
        
$error=1;
        
$msg.="- Il campo nome è vuoto.
"
;
    }
    if (
$cognome=="") {
        
$error=1;
        
$msg.="- Il campo cognome è vuoto.
"
;
    }
    if (
$email=="") {
        
$error=1;
        
$msg.="- Il campo email è vuoto.
"
;
    }
    if (
$email!="" && !eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
        
$error=1;
        
$msg.="- L'email inserita non è valida.
"
;    
    }
    if (
$commento=="") {
        
$error=1;
        
$msg.="- Il campo commento è vuoto.
"
;
    }
    
$error_file="";
    if (!
$thefile || $thefile=="none" || $thefile=="") {
        
$error=1;
        
$msg.="- Non hai inserito il curriculum.
"
;
    } else 
$error_file validate_upload($thefile);
    if (
$error==|| $error_file!="") {
        echo
"

Attenzione! Si sono verificati i seguenti errori:
$msg
$error_file
<a href=\"javascript:history.back()\">Clicca qui</a> per reinserire i dati."
;    
    } else {
        
$emailto="myemail@mysite.com"// INERIRE L'EMAIL QUI!!
        
$data=date("j/m/Y");
        
$ora=date("h:i:s");
        
        
$headers "MIME-Version: 1.0\n";
        
$headers .= "Content-Type: multipart/mixed; boundary=\"XX-1234DED00099A\"\n";
        
$headers .= "Content-Transfer-Encoding: 7bit\n";
        
$headers .= "From: $email\n";
        
        
$messaggio="--XX-1234DED00099A\n";
        
$messaggio.="Content-Type: text/plain; charset=iso-8859-1\n";
        
$messaggio.="Content-Transfer-Encoding: 7bit\n\r";

        
$messaggio.="Curriculum inviato il $data alle $ora\n\r\nDati inseriti\n";
        
$messaggio.="Nome: $nome\n\rCognome: $cognome\n";
        if (
$telefono!=""$messaggio.="Telefono: $telefono\n";
        
$messaggio.="Email: $email\nCommento:\n$commento\n";
        
$oggetto_send="Invio Curriculum";
        
        
        
$messaggio.="--XX-1234DED00099A\n";
        
$messaggio.="Content-Type: application/octet-stream; name=\"curriculum.doc\"\n";
        
$messaggio.="Content-Transfer-Encoding: base64\n";
        
$messaggio.="Content-Description: \"Curriculum\"\n";
        
$messaggio.="Content-Disposition: attachment\n\r";
        
        
$fp=@fopen($thefile"r");
        if (
$fp) {
            
$data fread($fpfilesize($thefile));    
        }
        
$curr base64_encode($data);
        
$messaggio .= "$curr\n\r--XX-1234DED00099A--\n";
        if (!
mail($emailto$oggetto_send$messaggio$headers)) {
            echo
"
[b]Attenzione.[/b]
Si sono verificati degli errori durante l'invio della Email.

            Vi preghiamo di riprovare <a href=\"javascript: history.back()\">cliccando qui.</a>

            Se l'errore persiste Vi invitamo a riprovare più tardi. Grazie."
;
        }
        else {
            
$messaggio_risposta="Grazie per averci contattato.\n\rIl vostro curriculum è stato inoltrato al responsabile del personale.\n\r\n\rDati inseriti\n";
            
$messaggio_risposta.="Nome: $nome\n\rCognome: $cognome\n\r";
            if (
$telefono!=""$messaggio_risposta.="Telefono: $telefono\n\r";
            
$messaggio_risposta.="Commento:\n\r$commento\n\r\n\r";
            
$messaggio_risposta.="Distinti saluti,\n\r";
            
$oggetto2="Curriculum inoltrato";
            
mail($email$oggetto2$messaggio_risposta,"From: NOME_SITO <$emailto>");
            echo 
"
[b]Email inviata correttamente.[/b]

            
I dati inseriti sono i seguenti:

"
;
            echo
"Nome:[b] $nome [/b]

            Cognome:[b] 
$cognome[/b]
"
;
            if (
$telefono!="") echo"Telefono: [b]$telefono[/b]
"
;
            echo
"Email: [b]$email[/b]
Commento:[b] "
.nl2br($commento)."[/b]

            

Grazie per averci contattato."
;
        }
    }
    
} else {
?>
            

Form per invio curriculum


      <form enctype="multipart/form-data" method="post" action="<?=$PHP_SELF?>" name="contatti">
        <table width="550" border="0" cellspacing="3" cellpadding="0">
          <tr> 
            <td>Nome *</td>
            <td> 
              <input type="text" name="nome" size="30">
            </td>
          </tr>
          <tr> 
            <td>Cognome *</td>
            <td> 
              <input type="text" name="cognome" size="30">
            </td>
          </tr>
          <tr> 
            <td>Telefono</td>
            <td> 
              <input type="text" name="telefono" size="30">
            </td>
          </tr>
          <tr> 
            <td>Email *</td>
            <td> 
              <input type="text" name="email" size="30">
            </td>
          </tr>
          <tr> 
            <td>Allega il tuo curriculum
(formato .doc - Max 100 Kb) *</td>
            <td>
              <input type="hidden" name="MAX_FILE_SIZE" value="102400"> 
              <input name="thefile" type="file" SIZE="35">
            </td>
          </tr>
          <tr> 
            <td>Commento *</td>
            <td> 
              <textarea name="commento" wrap="VIRTUAL" cols="30" rows="5"></textarea>
            </td>
          </tr>
          <tr> 
            <td colspan="2">
              <div align="center">
                  <input type="hidden" name="op" value="invio">
                <input type="submit" name="Submit" value="Invia">
                <input type="reset" name="Submit2" value="Reimposta">
              </div>
            </td>
          </tr>
        </table>
      </form>
      <font size="1">I campi con l'asterisco sono obbligatori.

      <?
}
?> 
       </font>
      
</table>
</body>

</html>

---CONTINUA-----------------