Visualizzazione risultati 1 fino 2 di 2

Discussione: funzione mail manda messaggi vuoti

  1. #1
    Guest

    Unhappy funzione mail manda messaggi vuoti

    Salve a tutti,

    il mio sito è hostato su altervista e tempo fa avevo messo su una pagina con un form contatti che permettesse a chiunque di contattarmi tramite il sito stesso. L'avevo testato e tutto fuzionava. Solo ieri mi accorgo che i messaggi che gli utenti mi inviano sono vuoti. Lo script che sto usando è il seguente:

    Codice:
    function process_form() {
    	// Read POST request params into global vars
    	// FILL IN YOUR EMAIL
    	$to = "mia_mail";
    	$subject = trim($_POST['subject']);
    	$namefrom = trim($_POST['namefrom']);
    	// $company = trim($_POST['company']);
    	$phone = trim($_POST['phone']);
    	$emailfrom = trim($_POST['emailfrom']);
    	$comments = trim($_POST['comments']);
    	
    	// Allowed file types. add file extensions WITHOUT the dot.
    	$allowtypes=array("zip", "rar", "txt", "doc", "pdf");
    	
    	// Maximum file size for attachments in KB NOT Bytes for simplicity. MAKE SURE your php.ini can handel it,
    	// post_max_size, upload_max_filesize, file_uploads, max_execution_time!
    	// 2048kb = 2MB,       1024kb = 1MB,     512kb = 1/2MB etc..
    	$max_file_size="5120";
    	
    	// Thank you message
    	$thanksmessage="La tua mail è stata inviata. La ricontatterò al più presto.";
    
    	$errors = array(); //Initialize error array
    
    	//checks for a name
    	if (empty($_POST['namefrom']) ) {
    		$errors[]='Hai dimenticato di inserire il tuo nome';
    		}
    
    	//checks for an email
    	if (empty($_POST['emailfrom']) ) {
    		$errors[]='Hai dimenticato di inserire la tua email';
    		} else {
    
    		if (!eregi ('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$', stripslashes(trim($_POST['emailfrom'])))) {
    			$errors[]='Inserisci una email valida';
    		} // if eregi
    	} // if empty email
    
    	//checks for a subject
    	if (empty($_POST['subject']) ) {
    		$errors[]='Hai dimenticato di inserire l\'oggetto del messaggio';
    		}
    
    	//checks for a message
    	if (empty($_POST['comments']) ) {
    		$errors[]='Hai dimenticato di inserire il messaggio';
    		}
    		
    	//checks attachment file
    	// checks that we have a file
    	if((!empty($_FILES["attachment"])) && ($_FILES['attachment']['error'] == 0)) {
    			// basename -- Returns filename component of path
    			$filename = basename($_FILES['attachment']['name']);
    			$ext = substr($filename, strrpos($filename, '.') + 1);
    			$filesize=$_FILES['attachment']['size'];
    			$max_bytes=$max_file_size*1024;
    			
    			//Check if the file type uploaded is a valid file type. 
    			if (!in_array($ext, $allowtypes)) {
    				$errors[]="Estensione non valida del file: <strong>".$filename."</strong>";
    				
    		// check the size of each file
    		} elseif($filesize > $max_bytes) {
    				$errors[]= "Il tuo file: <strong>".$filename."</strong> é troppo grande. La dimensione max è ".$max_file_size."kb.";
    			}
    			
    	} // if !empty FILES
    
    	if (empty($errors)) { //If everything is OK
    		
    		// send an email
    		// Obtain file upload vars
    		$fileatt      = $_FILES['attachment']['tmp_name'];
    		$fileatt_type = $_FILES['attachment']['type'];
    		$fileatt_name = $_FILES['attachment']['name'];
    		
    		// Headers
    		$headers = "From: $emailfrom";
    
    		if (is_uploaded_file($fileatt)) {
    		  // Read the file to be attached ('rb' = read binary)
    		  $file = fopen($fileatt,'rb');
    		  $data = fread($file,filesize($fileatt));
    		  fclose($file);
    
    		  // create a boundary string. It must be unique
    		  $semi_rand = md5(time());
    		  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
    
    		  // Add the headers for a file attachment
    		  $headers .= "\nMIME-Version: 1.0\n" .
    		              "Content-Type: multipart/mixed;\n" .
    		              " boundary=\"{$mime_boundary}\"";
    
    		  // Add a multipart boundary above the plain message
    		  $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.="From: ".$namefrom."\n";
    		  // $message.="Company: ".$company."\n";
    		  $message.="Phone: ".$phone."\n";
    		  $message.="Comments: ".$comments."\n\n";
    		  
    		  // Base64 encode the file data
    		  $data = chunk_split(base64_encode($data));
    
    		  // Add file attachment to the message
    		  $message .= "--{$mime_boundary}\n" .
    		              "Content-Type: {$fileatt_type};\n" .
    		              " name=\"{$fileatt_name}\"\n" .
    		              //"Content-Disposition: attachment;\n" .
    		              //" filename=\"{$fileatt_name}\"\n" .
    		              "Content-Transfer-Encoding: base64\n\n" .
    		              $data . "\n\n" .
    		              "--{$mime_boundary}--\n";
    		}
    		
    		
    		// Send the completed message
    		if(!mail($to,$subject,$message,$headers)) {
    			exit("La email non può essere inviata. Mi dispiace! Si è verificato un errore, per favore segnalano all'amministratore del sito web.\n");
    		} else {
    			echo '<div id="formfeedback"><h3>Grazie!</h3><p>'. $thanksmessage .'</p></div>';
    			print_form();
    		} // end of if !mail
    		
    	} else { //report the errors
    		echo '<div id="formfeedback"><h3>Errore!</h3><p>Si sono verificati i seguenti errori:<br />';
    		foreach ($errors as $msg) { //prints each error
    				echo " - $msg<br />\n";
    			} // end of foreach
    		echo '</p><p>Correggi gli errori e riprova</p></div>';
    		print_form();
    	} //end of if(empty($errors))
    
    } // end of process_form()
    ?>
    Nel messaggio mi appare soltanto l'indirizzo del destinatario e come testo il seguente contenuto:

    ------------

    To report abuses or spam please follow this link: http://sp.altervista.it/s.php/d2VidH...RhdHRhbWkucGhw
    Qualcuno mi saprebbe dire qual'è il problema se fino a qualche tempo fa tale script funzionava?

    Grazie in anticipo a chi potrà/vorrà aiutarmi

  2. #2
    Guest

    Predefinito

    Come non detto! Tutto risolto!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •