Salve,
ho un problema con uno script in php apparentemenre semplice ma che purtroppo mi sta facendo dannare..

lo script dovrebbe permettere all'utente di inserire il suo indirizzo email ed altri sei indirizzi email, i primi tre obbligatori e gli altri tre facoltativi.

dopo di che dovrebbe inviare un messaggio preimpostato che ha come mittente l'indirizzo email dell'utente.

ho provato a caricare il tutto su diversi hosting, sia gratuiti che a pagamento il problema rimane.

nel migliore dei casi ho come risposta l'errore per il fallito invio dell'email, nel peggiore dei casi invece lo script sembra proprio muto.. non da nessun risultato.

mi hanno detto che probabilmente il problema potrebbe essere nella configurazione del file php.ini ed ho contattato il fornitore dell'hosting per sapere se era possibile cambiare configurazione ma mi hanno risposto che la funzione mail() è funzionante pertanto il problema sta nel sorgente php.

io purtroppo non sono riuscito a trovare nulla di anomalo.. se potreste aiutarmi voi ve ne sarei grato..

vi scrivo di seguito le tre pagine dello script:

index.html
Codice PHP:
<html>
 <
head
 <
title>Invio NewsLetter</title>
 <
script type="text/javascript" src="controlli.js"></script>
 </head>
 <body>
     <form action="inviaMail.php" method="post" name="mail">
         <table>
         <tr>
             <td>mittente:</td>
             <td><input type="text" name="mittente"></td>
             <td>obbligatorio</td>
         </tr>
          <tr>
             <td>email 1 *</td>
             <td><input type="text" name="email1"></td>
             <td>obbligatorio</td>
         </tr>
          <tr>
             <td>email 2 *</td>
             <td><input type="text" name="email2"></td>
             <td>obbligatorio</td>
         </tr>
          <tr>
             <td>email 3 *</td>
             <td><input type="text" name="email3"></td>
             <td>obbligatorio</td>
         </tr>
          <tr>
             <td>email 4</td>
             <td><input type="text" name="email4"></td>
             <td>facoltativa</td>
         </tr>
          <tr>
             <td>email 5</td>
             <td><input type="text" name="email5"></td>
             <td>facoltativa</td>
         </tr>
          <tr>
             <td>email 6</td>
             <td><input type="text" name="email6"></td>
             <td>facoltativa</td>
         </tr>
          <tr>
             <td align="center" colspan="3">
                 <input type="button"onClick="controllo();" value="invia">
             </td>
         </tr>
         </table>
     </form>
 </body>
 </html> 
inviaMail.php
Codice PHP:
<?php  echo "Ciao [b]$mittente[/b]
"
;
   
// costruiamo alcune intestazioni generali
 
$header "From: $mittente \n";
  
// generiamo la stringa che funge da separatore
 
$boundary "==String_Boundary_x" .md5(time()). "x";
  
// costruiamo le intestazioni che specificano
  // un messaggio costituito da più parti alternative
 
$header .= "MIME-Version: 1.0\n"$header .= "Content-Type: multipart/alternative;\n";
 
$header .= " boundary=\"$boundary\";\n\n";
 
// questa parte del messaggio viene visualizzata
 // solo se il programma non sa interpretare
 // i MIME poiché è posta prima della stringa boundary
 
$messaggio "QUI CI VA IL MESSAGGIO PER I CLIENT EMAIL CHE NON SUPPORTANO L'HTML \n\n";
  
// inizia la prima parte del messaggio in testo puro
 
$messaggio .= "--$boundary\n"$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
 
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
 
$messaggio .= "Messaggio in formato testo(sembra che funzioni).\n\n";
  
// inizia la seconda parte del messaggio in formato html
 
$messaggio .= "--$boundary\n";
 
$messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
 
$messaggio .= "<html><body>

Questo messaggio è in formato [i]html[/i],                 sembra che tutto funzioni.</p>

Visita il sito <a href=\"http://www.google.it\">[url]www.google.it[/url]</a></p></body></html>\n"
;
  
// chiusura del messaggio con la stringa boundary
 
$messaggio .= "--$boundary--\n";  $subject "saluti in php";
       if (
$email1 != '') {
         if( @
mail("$email1"$subject$messaggio$header) ) echo "e-mail a $email1 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email1!
"
;
     }
     if (
$email2 != '') {
         if( @
mail("$email2"$subject$messaggio$header) ) echo "e-mail a $email2 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email2!
"
;
     }
     if (
$email3 != '') {
         if( @
mail("$email3"$subject$messaggio$header) ) echo "e-mail a $email3 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email3!
"
;
     }
     if (
$email4 != '') {
         if( @
mail("$email4"$subject$messaggio$header) ) echo "e-mail a $email4 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email4!
"
;
     }
     if (
$email5 != '') {
         if( @
mail("$email5"$subject$messaggio$header) ) echo "e-mail a $email5 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email5!
"
;
     }     if (
$email6 != '') {
         if( @
mail("$email6"$subject$messaggio$header) ) echo "e-mail a $email6 inviata con successo!
"
;
         else echo 
"errore nell'invio dell'e-mail a $email6!
"
;
     }  
?>
controlli.js
Codice PHP:
function controllo(){ messaggio="";
   if (
document.mail.email1.value.length==){
     
messaggio=messaggio "email 1: campo obbligatorio\n";
 }
 if (
document.mail.email1.value.length>){
     if ((
document.mail.email1.value.indexOf("@")<0) || (document.mail.email1.value.indexOf(".")<0)){
         
messaggio=messaggio "email 1: campo non valido\n";
     } }
 if (
document.mail.email2.value.length==){
     
messaggio=messaggio "email 2: campo obbligatorio\n";
 }
 if (
document.mail.email2.value.length>){
     if ((
document.mail.email2.value.indexOf("@")<0) || (document.mail.email2.value.indexOf(".")<0)){
         
messaggio=messaggio "email 2: campo non valido\n";
     } } 
if (
document.mail.email3.value.length==){
     
messaggio=messaggio "email 3: campo obbligatorio\n";
 }
 if (
document.mail.email3.value.length>){
     if ((
document.mail.email3.value.indexOf("@")<0) || (document.mail.email3.value.indexOf(".")<0)){
         
messaggio=messaggio "email 3: campo non valido\n";
     } } 
if (
document.mail.email4.value.length>){
     if ((
document.mail.email4.value.indexOf("@")<0) || (document.mail.email4.value.indexOf(".")<0)){
         
messaggio=messaggio "email 4: campo non valido\n";
     } }
 if (
document.mail.email5.value.length>){
     if ((
document.mail.email5.value.indexOf("@")<0) || (document.mail.email5.value.indexOf(".")<0)){
         
messaggio=messaggio "email 5: campo non valido\n";
     } } if (
document.mail.email6.value.length>){
     if ((
document.mail.email6.value.indexOf("@")<0) || (document.mail.email6.value.indexOf(".")<0)){
         
messaggio=messaggio "email 6: campo non valido\n";
     } } 
if(
messaggio=="") {
    
document.mail.action "inviaMail.php";
    
document.mail.submit(); } else{ alert(messaggio); } } 
grazie.