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
perchè appunto commentandolo la mail arriva però ovviamente senza allegato.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";
Comunque il codice per intero è questo:
Che cosa sbaglio?!?!?!?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>

Rispondi quotando