Ciao a tutti, ho creato un form con invio email. Funziona tutto correttamente ma il mittente viene riconosciuto come "anonymous@webxc17s08.ad.aruba.it".
Di seguito, form e codice:
<form action="" method="post" enctype="multipart/form-data">
<fieldset>
<label for="email">La tua email :</label>
<input type="email" name="mittente" />
<label for="text">Oggetto:</label>
<input type="text" name="oggetto" />
<label for="message">Messaggio:</label>
<textarea id="message" name="messaggio"></textarea>
<label for="file">Allegato:</label>
<input type="file" name="allegato" />
<input type="submit" value="invia" />
</fieldset>
</form>
$query_iscritti = "SELECT * FROM tabella";
$iscritti = mysql_query($query_iscritti, $conn) or die(mysql_error());
$row_iscritti = mysql_fetch_assoc($iscritti);
$totalRows_iscritti = mysql_num_rows($iscritti);
$mittente = $_POST['mittente'];
$destinatario = $row_iscritti['email'];
$oggetto = $_POST['oggetto'];
$messaggio = stripslashes ($_POST['messaggio']);
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
if (is_uploaded_file($allegato))
{
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
$data = chunk_split(base64_encode($data));
$semi_rand = md5(time());
$mime_boundary = 'Multipart_Boundary_x'.md5(time()).'x';
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary\"\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n";
$msg .= "This is a multi-part message in MIME format.\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Type: text/plain; charset=\"charset=ISO-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $messaggio;
$msg .= "\n\n";
$msg .= "--{$mime_boundary}\n";
$msg .= "Content-Disposition: attachment; filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data;
$msg .= "\n\n";
$msg .= "--{$mime_boundary}\n";
$headers .= "From: $mittente\r\n";
$headers .= "X-Sender-IP: $_SERVER[SERVER_ADDR]\r\n";
$headers .= 'Date: '.date('n/d/Y g:i A')."\r\n";
}
else
{
$msg = $messaggio;
}
if (mail($destinatario, $oggetto, $msg, $headers))
{
}
else
{
print "Errore";
}
Dove ho sbagliato?