Ciao a tutti! Ho un piccolo problema con il form per l'invio di un allegato. In realtà l'invio dell'allegato funziona correttamente, però non mi passa il testo del corpo del messaggio.
Questo è il form:
Codice PHP:
<td width="611"><form action="formmail.php" method="POST" enctype="multipart/form-data">
<input type=hidden name="destinatario" value="xxx@gmail.com">
<input type=hidden name="oggetto" value="Nuova candidatura dal sito xxx.it">
</p>
<table border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td>[b] Nome e Cognome:[/b]</td>
<td align="right"><input type=text name="mittente"></td>
</tr>
<tr>
<td>[b]Email:[/b]</td>
<td align="right"><input type=text name="email"></td>
</tr>
<tr>
<td>[b]Allega CV:[/b]</td>
<td align="right"><input type=file name="uploadfile"></td>
<input type="hidden" name="MAX_FILE_SIZE" value="8388608">
</tr>
<tr>
<td colspan="2">[b]Messaggio:[/b]</td>
</tr>
<tr>
<td colspan="2"><textarea name="messaggio" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="Invia"></td>
</tr>
</table>
<input type=hidden name="required" value="email,realname,messaggio">
</p>
</form></td>
</tr>
</table>
e questo è formmail.php
Codice PHP:
// controllo che non ci siano stati errori nell'upload (codice = 0)
if ($_FILES['uploadfile']['error'] == 0){
// upload ok
// controllo che il file sia in formato gif
//if ($_FILES['uploadfile']['type'] != "image/gif") die("Formato file non valido, è permesso solo il formato gif");
// copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale
copy($_FILES['uploadfile']['tmp_name'], "upload/".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file");
// upload terminato, stampo alcune info sul file
echo "Upload terminato con successo:
";
echo "Nome file: ".$_FILES['uploadfile']['name']."
";
echo "Dimensione file: ".$_FILES['uploadfile']['size']."
";
echo "Tipo MIME file: ".$_FILES['uploadfile']['type'];
}
else{
// controllo il tipo di errore
if ($_FILES['uploadfile']['error'] == 2){
// errore, file troppo grande (> 1MB)
die("Errore, file troppo grande: il massimo consentito è 8MB");
}
else{
// errore generico
die("Errore, impossibile caricare il file");
}
}
$alleg=$_FILES['uploadfile']['name'];
require "phpmailer/class.phpmailer.php";
$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->Host='smtp.aruba.it';
$messaggio->From=$_POST['email'];
$messaggio->AddAddress($_POST['destinatario']);
$messaggio->AddReplyTo($_POST['email']);
$messaggio->Subject=$_POST['oggetto'];
$messaggio->Body=$_POST['messaggio' . $alleg];
//percorso all'allegato
$messaggio->AddAttachment('upload/'.$alleg);
if(!$messaggio->Send()){
echo $messaggio->ErrorInfo;
}else{
unlink('upload/'.$alleg);
header("Location: inviook.php");
}
$messaggio->SmtpClose();
unset($messaggio);