Ciao a tutti
Ho questo codice che teoricamente dovrebbe mandare l'email con un allegato. Il problema che quando alla fine vado a fare il controllo sull'invio questo va a buon fine, cioè esce la scritta "grazie per esserti etc etc." però non mi arriva nessuna mail. Ovviamente l'indirizzo email è corretto. Facendo un po di prove ho visto che in pratica l'errore dovrebbe stare in questa parte di codice
codice:
$message .= "--{$mime_boundary}\n";
$message .= "Content-Disposition: attachment;\n";
$message .= " filename=\"{$name}\"\n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$message .= $data . "\n\n";
$message .= "--{$mime_boundary}--\n";
perchè appunto commentandolo la mail arriva però ovviamente senza allegato.
Comunque il codice per intero è questo:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inserimento Dati</title>
</head>
<body>
<?php
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$scelta = $_POST['scelta'];
$dicci = utf8_encode($_POST['dicci']);
$subject="glamshow registrazione";
$check = $_POST['trat'];
//$to = "info@glamshow.it";
$to = "ant.ostuni@gmail.com";
if($check!=""){
$altezza = $_POST['altezza'];
$seno = $_POST['seno'];
$vita = $_POST['vita'];
$fianchi = $_POST['fianchi'];
$scarpe = $_POST['scarpe'];
$occhi = $_POST['occhi'];
$capelli = $_POST['capelli'];
$eta = $_POST['eta'];
$tmp_name = $_FILES['userfile1']['tmp_name'];
$type = $_FILES['userfile1']['type'];
$name = $_FILES['userfile1']['name'];
$message .= "Nome: ".$nome."\nCognome: ".$cognome."\nNumero di Telefono: ".$tel."\nIndirizzo e-mail: ".$email."\nProfessione: ".$scelta."\n";
$message .= "Dicci di te: ".$dicci;
$message .= "\nAltezza: ".$altezza.
"\nSeno: ".$seno.
"\nVita: ".$vita.
"\nfianchi: ".$fianchi.
"\nScarpe: ".$scarpe.
"\nOcchi: ".$occhi.
"\nCapelli: ".$capelli.
"\nEtà: ". $eta;
if(is_uploaded_file($tmp_name)){
$message .= "\n\nIn allegato il file: $name";
$file = fopen($tmp_name,'rb');
$data = fread($file,filesize($tmp_name));
fclose($file);
$data = chunk_split(base64_encode($data));
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers = "From: $email\n" .
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
$message .= "This is a multi-part message in MIME format.\n\n";
$message .= "--{$mime_boundary}\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$message .= $messaggio . "\n\n";
$message .= "--{$mime_boundary}\n";
$message .= "Content-Disposition: attachment;\n";
$message .= " filename=\"{$name}\"\n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$message .= $data . "\n\n";
$message .= "--{$mime_boundary}--\n";
}
if(mail($to, $subject, $message, $headers))
echo "Grazie per la registrazione, la tua richiesta è andata a buon fine";
else
echo "Errore nell'invio della e-mail";
}
else{
echo "Per poter inviare i propri dati è necessario dare il consenso al trattamento dei dati personali
";
echo "<a href=\"iscriviti.html\">Torna indietro</a>";
}
?>
</body>
</html>
Che cosa sbaglio?!?!?!?