Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema email

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    4

    Problema email

    ciao ragazzi, sto creando un sito web personale ma ho un problema, ho una pagina (email.html) con un modulo da compilare (nome cognome, email, oggetto e messaggio) e me lo invia all'email personale. Il problema è che per qualche strano motivo mi arrivano solo le email con dominio hotmail. vi metto il codice del html e della pagina PHP:

    HTML:
    codice:
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title>Email</title>
      <STYLE type="text/css">
        a:link {color: #00602D;}
        a:active {color: #00602D;}
        a:visited {color: #00602D;}
        a:hover {color: #0000FF;}
      </STYLE>
      </head>
      <body>
        <table height="100%" width="100%" border="0">
        <tr>
          <td align="center" valign="top">
            <table height="300" width="400" border="1">  
            <tr>
              <td align="center" valign="top">
                <form name="modulo" method="post" action="inviamail.php">
                  <table border="0" cellspacing="0" cellpadding="5" align="center">
                  <tr>
                    <td colspan="2" align="center"><font size="5" face="Verdana">- Send Mail -</font><hr></td>
                  </tr>
                  <tr>
                    <td><font size="3" face="Verdana">Nome Cognome:</font></td>
                    <td align="right"><input type=text name="name"></td>
                  </tr>    
                  <tr>
                    <td><font size="3" face="Verdana">Email:</font></td>
                    <td align="right"><input type=text name="email"></td>
                  </tr>
                  <tr>
                    <td><font size="3" face="Verdana">Oggetto:</font></td>
                    <td align="right"><input type=text name="subject"></td>
                  </tr>
                  <tr><td colspan="2"><font size="3" face="Verdana">Messaggio:</font></td></tr>
                  <tr><td colspan="2"><textarea name="note" cols="40" rows="5"></textarea></td></tr>
                  <tr>
                    <td align="center"><input type="Submit" value="Invia"></td>
                    <td align="center"><input type="reset" value="Cancella"></td>
                  </tr>
                  <tr>
                    <table border="0" width="100%">
                    <tr>
                    	<td colspan="2" align="center"><font size="2" face="Verdana">Accetti le condizioni?:</font></td>
                    </tr>
                    <tr>
                    	<td  align="right"><font size="2" face="Verdana">SI</font><input type="radio" name="trattamento_dati" value="accetto" checked></td>
                    	<td align="left"><font size="2" face="Verdana"><input type="radio" name="trattamento_dati" value="non_accetto">NO</font></td>
                    </tr>
                    </table>
                  </tr>
                  </table>
                <input type=hidden name="required" value="email,name,note,subject">
                </form>
              </td>
            </tr>
            </table>
          </td>
        </tr>
        </table>
      </body>
    </html>
    PHP:
    Codice PHP:
    <?php
    $email
    =$_POST['email'];

    #######################################
    #     IMPOSTAZIONI DA CONFIGURARE     #
    #######################################

    //(1) indirizzo email del destinatario del modulo
    $destinatario "MIAEMAIL@hotmail.it";

    //(2) indirizzo email del mittente, campo FROM
    //    non toccare se desiderate che l'indirizzo email inserito nel modulo sia
    //    riportato nel campo DA del messaggio che sarà ricevuto.
    //    Se invece desiderate un campo fisso annullare la prima riga e abilitare
    //    la seconda inserendo la dicitura desiderata (per annullare mettere //
    //    all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
    $nome_mittente "$email";
    // $nome_mittente = "Dal Modulo";

    //(3) oggetto del messaggio
    $oggetto_email "$subject";

    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    //    (valori possibili: "y" e "n")
    $all_free "n";

    //(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
    //    da virgola, i nomi dei campi da rendere OBBLIGATORI
    //    Esempio: $campi_req = array("nome","telefono","via");
    $campi_req = array("nome","email");

    //(6) controllo validità del campo email. (valori possibili: "y" e "n")
    $obbligo_email "n";

    //(7) obbligare l'utente ad accettare le condizioni.
    //    (valori possibili: "y" e "n")
    $accetta_condizioni "y";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie "http://pietrocurcio.altervista.org/email/grazie.html";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty "http://pietrocurcio.altervista.org/email/err_campi.html";

    //(10) URL della pagina errore email
    $pagina_error_email "http://pietrocurcio.altervista.org/email/err_email.html";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni "http://pietrocurcio.altervista.org/email/err_condizioni.html";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer "http://pietrocurcio.altervista.org/email/err_referer.html";

    #######################################
    #  FINE IMPOSTAZIONI DA CONFIGURARE   #
    #######################################

    //ora e data
    $ora date ("H:i:s"); 
    $data date ("d/m/Y");

    //intestazione email che arriva al destinatario
    $corpo "
    Modulo inviato il 
    $data alle ore $ora
    Riepilogo dati:\n\n"
    ;

    //============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\


    ########### CODICI ###########

    //variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
    $_POST = &$HTTP_POST_VARS
    }

    //prende IP ADDRESS
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
        
        if (
    $_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

    $ipnumb getenv("REMOTE_ADDR");

            }else {

    $ipnumb getenv("HTTP_X_FORWARDED_FOR");

                }

            } else {

    $ipnumb getenv("REMOTE_ADDR");
            }
    ###################################

    //controllo referer
    if(empty($_SERVER["HTTP_REFERER"])){

        
    header ("Location: $pagina_error_referer");
        exit();
        
        }

    ########### CONTROLLO DEI CAMPI ###########
    $control_campi 0;

    if(
    $all_free != "y"){

        foreach(
    $_POST as $key => $valore){

            if(
    in_array($key,$campi_req)){

                if(
    trim($valore) == ""){

                
    $control_campi++;
                
                                        } 

                                    }

                                }

                            } else {

                
    $control_campi 0;    

                                    }                    

    ########### CONTROLLO EMAIL ###########
    $control_email 0;

    if(
    $obbligo_email == "y"){

        if(isset(
    $_POST['email'])){

            if(!
    eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

            
    $control_email++;

                                }

                            } else {

            
    $control_email 0;

                                }

                            }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni 0;

    if(
    $accetta_condizioni == "y"){

        if(isset(
    $_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

            
    $control_condizioni 0;

                } else {

            
    $control_condizioni ++;

                }

            }

    ########### INVIO EMAIL ###########
    if($control_campi == 0){

            if(
    $control_email == 0){

                if(
    $control_condizioni == 0){

    foreach(
    $_POST as $key => $valore){

    $key ucfirst(stripslashes(trim($key)));
    $valore stripslashes(trim($valore));
    $key str_replace("_"," ",$key);

                if(
    trim($valore) == ""$valore "Non compilato";
                
                    
    $corpo .= $key .": "$valore ."\n\n";

                }
                
                    
    $corpo .= "Numero IP: $ipnumb"."\n";

    $corpo .= "____________________________________________________________ \n\n

    "
    ;

        
    // invio e-mail
    // Header Mail
    $headmail.="From: $nome_mittente <$nome_mittente>\n";
    $headmail.="Return-Path: $nome_mittente\n";
    $headmail.="User-Agent: Php Mail Function\n";
    $headmail.="X-Accept-Language: en-us, en\n";
    $headmail.="MIME-Version: 1.0\n";
    $headmail.="X-Priority: 1 (Highest)\n";
    $headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
    $headmail.="Content-Transfer-Encoding: 7bit\n";

    ini_set('sendmail_from'"$destinatario");
    mail("$destinatario""$oggetto_email""$corpo""$headmail");

                    
    header ("Location: $pagina_grazie");

                                    } else {

                    
    header ("Location: $pagina_error_condizioni");

                                }

                            } else {

                    
    header ("Location: $pagina_error_email");

                            }

                        } else {

                        
                    
    header ("Location: $pagina_error_empty");

                        }

    ?>

  2. #2
    Non sto a leggere il php (che qui è ot) ma non credo vi siano filtri particolari. Probabilmente è un fattore legato al tuo hosting o un problema di dns... ma è solo un ipotesi
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3
    @P13tr0
    per cortesia posta il codice dentro il tag CODE o PHP
    benvenuto nel forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.