il codice che uso è il seguente:
Codice PHP:
$e="info@sito.it"; /*Inserire l'indirizzo email a cui si vuole spedire l'email*/
$ogg="lavora con noi"; /*Inserire l'oggetto dell'email da spedire*/
$mittente="info@altrosito.it"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
$reply=$email; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/
$titolo= $_FILES["allegato"]["name"]; /*Inserire il nome che si vuole dare all'allegato*/
$f= $_FILES["allegato"]["tmp_name"]; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
$filetype=$_FILES["allegato"]["type"]; /*Inserire il formato MIME del file da allegare*/
$mess = 'messaggio che mando e che non scrivo perchè non vi serve :D';
$intestazioni = "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";
$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/html; charset=iso-8859-1\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail message body\n\n";
$msg_body = $body_top . $mess;
$filez = fopen($f, "r");
$contents = fread($filez, filesize($f));
$encoded_attach = chunk_split(base64_encode($contents));
fclose($filez);
$msg_body .= "\n\n--Message-Boundary\n";
$msg_body .= "Content-type: $filetype; name=\"$titolo\"\n";
$msg_body .= "Content-Transfer-Encoding: BASE64\n";
$msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
$msg_body .= "$encoded_attach\n";
$msg_body .= "--Message-Boundary--\n";
ripeto, il file arriva a destinazione, il peso è identico all'originale ma non si apre