Funziona...grazie per l'aiuto a tutti quanti :p:p:p:p:p:p:p:p
[PHP]<?php
// Recuperiamo i valori dal form
$destinatario = $_POST['destinatario'];
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$oggetto=$_POST['oggetto'];
$mail=$_POST['mail'];
$citta=$_POST['citta'];
$telefono=$_POST['telefono'];
$message=$_POST['message'];
$messaggio="
Nome : $nome
Cognome : $cognome
Oggetto : $oggetto
Mail : $mail
Città : $citta
Telefono : $telefono
Messaggio : $message
";
// Creiamo le variabili per il file attachment
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// Verifichiamo se è stato eseguito l'upload del file
if (is_uploaded_file($allegato)) {
$headers = "From: " . $mail;
$msg = "";
// usiamo la funzione fopen e fread per aprire e leggere il file e poi chiudiamo con fclose
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// Codifichiamo il file adattandolo a base64 usando la funzione chunk_split di php
$data = chunk_split(base64_encode($data));
/* Creiamo una variabile per un divisore che dividere la parte testuale del messaggio dal file stesso altrimenti riceveremo una serie illeggibili di caratteri
*/
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary="{$mime_boundary}"";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\n\n";
// Mettiamo il separatore
$msg .= "--{$mime_boundary}\n";
// Parte "testuale" del messaggio
$msg .= "Content-Type: text/plain; charset="iso-8859-1"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $messaggio . "\n\n";
$msg .= "--{$mime_boundary}\n";
// Aggiungiamo l'allegato alla mail
$msg .= "Content-Disposition: attachment;\n";
$msg .= " filename="{$allegato_name}"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
$msg .= "--{$mime_boundary}--\n";
// Invio la mail con allegato
if (mail($destinatario, $oggetto, $msg, $headers)) {
header("Refresh: 5; URL=index.html");
echo "<br><p align='center'>Mail inviata con successo ! <br> Sarete contattati al più presto ! <br><br> Reindirizzamento....</p>";
} else { echo "Errore"; }
} else {
$headers = "From: " . $mail;
$msg .= $messaggio . "\n\n";
// Invio la mail senza allegato
if (mail($destinatario, $oggetto, $msg, $headers)) {
header("Refresh: 5; URL=index.html");
echo "<br><p align='center'>Mail inviata con successo ! <br> Sarete contattati al più presto ! <br><br> Reindirizzamento....</p>";
} else { echo "Errore"; }
}[/PHP]