Ho modificato lo script in questo modo:
solo che i due allegati al messaggio sono vuoti, sono tutti e due di 0kb.codice:<?php $nome = $_POST['nome']; $cognome = $_POST['cognome']; $sociale = $_POST['sociale']; $indirizzo = $_POST['indirizzo']; $cap = $_POST['cap']; $citta = $_POST['citta']; $provincia = $_POST['provincia']; $iva = $_POST['iva']; $telefono = $_POST['telefono']; $mail = $_POST['mail']; $campotesto = $_POST['campotesto']; $subject = "Dati raccolti dal form"; $mail_body .= "Nome: $nome\n"; $mail_body .= "Cognome: $cognome\n"; $mail_body .= "Ragione Sociale: $sociale\n"; $mail_body .= "Indirizzo: $indirizzo\n"; $mail_body .= "CAP: $cap\n"; $mail_body .= "Città: $citta\n"; $mail_body .= "Provincia: $provincia\n"; $mail_body .= "Partita IVA: $iva\n"; $mail_body .= "Telefono: $telefono\n"; $mail_body .= "Email: $mail\n"; $mail_body .= "Note per la stampa: $campotesto\n"; $mail_body .= "Nome persona che effettua l'ordine: $nome2\n"; $mail_body .= "Cognome persona che effettua l'ordine: $cognome2\n"; // Valorizzo le variabili relative all'allegato $allegato = $_FILES['allegato']['tmp_name']; $allegato_type = $_FILES['allegato']['type']; $allegato_name = $_FILES['allegato']['name']; $allegato2 = $_FILES['allegato2']['tmp_name']; $allegato2_type = $_FILES['allegato2']['type']; $allegato2_name = $_FILES['allegato2']['name']; // Apro e leggo il file allegato $file = fopen($allegato,$allegato2,'rb'); $data = fread($file, filesize($allegato,$allegato2)); fclose($file); // Adatto il file al formato MIME base64 usando base64_encode $data = chunk_split(base64_encode($data)); // Genero il "separatore" // Serve per dividere, appunto, le varie parti del messaggio. // Nel nostro caso separerà la parte testuale dall'allegato /*$semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";*/ $mime_boundary = "<<<:" . md5(uniqid(mt_rand(), 1)); // Aggiungo le intestazioni necessarie per l'allegato $headers .= "\rnMIME-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"; // Metto il separatore $msg .= "--{$mime_boundary}\n"; // Aggiungo le intestazioni necessarie per l'allegato $headers .= "\rnMIME-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"; // Metto il separatore $msg .= "--{$mime_boundary}\n"; // Questa è la parte "testuale" del messaggio $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $msg .= "Content-Transfer-Encoding: 7bit\n\n"; $msg .= $mail_body . "\n\n"; // Metto il separatore $msg .= "--{$mime_boundary}\n"; // Aggiungo l'allegato al messaggio $msg .= "Content-Disposition: attachment;\n"; $msg .= " filename=\"{$allegato_name}\"\n"; $msg .= "Content-Transfer-Encoding: base64\n\n"; $msg .= $data . "\n\n"; // Metto il separatore $msg .= "--{$mime_boundary}\n"; // Aggiungo l'allegato al messaggio $msg .= "Content-Disposition: attachment;\n"; $msg .= " filename=\"{$allegato2_name}\"\n"; $msg .= "Content-Transfer-Encoding: base64\n\n"; $msg .= $data . "\n\n"; // chiudo con il separatore $msg .= "--{$mime_boundary}--\n"; if(mail($destinatario,$subject,$msg,$headers)) { echo "L'ordine è stato inviato correttamente"; } else { echo "Impossible inviare l'ordine"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento senza titolo</title> </head> <body> </body> </html>
Possibile che non ci sia nessuno che abbia affrontato e risolto questo problema ?
Sono 4 giorni che ci sto dietro.
Per favore datemi una mano.

Rispondi quotando