Visualizzazione risultati 1 fino 12 di 12

Discussione: verifica esistenza email

  1. #1
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito verifica esistenza email

    salve a tutti avrei bisogno di un aiutino

    sul mio sito (nella sezione dedicata alla registrazione)
    l'utente deve inserire la propria mail...

    ho la necessità che il sistema verifichi la reale esistenza dell'indirizzo mail inserito.
    girando in internet ho trovato questo codice:
    Codice:
    <script type="text/javascript">
    function checkEmail(theForm) {
    var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/
    if (re.test(theForm.news.value))
    return true;
    alert("l'eMail \"" + theForm.news.value + "\" NON \u00c8 valida!");
    return false;
    }
    </script>
    il problema è che questo non mi esegue la verifica dell'esistenza della mail...ma solo la verifica che la mail inserita possa esistere " (cioè...che ci sia un ###@###.###)

    voi conoscete dei codici javascript che facciano al mio caso?

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Basta cercare
    Check esistenza indirizzo email

    Ciao!

    PS: vuoi saperlo tramite PHP o Javascript? Hai postato nella sezione relativa al PHP e chiesto uno script Javascript
    Ultima modifica di radiodelmomento : 22-01-2014 alle ore 17.06.16

  3. #3
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,714

    Predefinito

    Via javascript è praticamente impossibile, infatti il codice che hai riportato serve sono a validare un indirizzo email, ma non può verificare che esista.

    Quello che si fa è di solito è di inviare un link con un codice alla mail inserita dall'utente. Se è in grado di cliccarci sopra vuol dire che la mail esiste: pensa a tutte le volte che ti sei iscritto ad un servizio online, Altervista compreso.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  4. #4
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Via javascript è praticamente impossibile, infatti il codice che hai riportato serve sono a validare un indirizzo email, ma non può verificare che esista.

    Quello che si fa è di solito è di inviare un link con un codice alla mail inserita dall'utente. Se è in grado di cliccarci sopra vuol dire che la mail esiste: pensa a tutte le volte che ti sei iscritto ad un servizio online, Altervista compreso.
    ma come posso realizzare una cosa simile?
    non ho la più pallida idea di come realizzare una cosa simile....

    io il fatto di inviare una mail in automatico...ok...
    ma come faccio a fare il codice e la conferma via mail?

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da fabiovergotti Visualizza messaggio
    ma come posso realizzare una cosa simile?
    Ti ho linkato una guida semplicissima dove non devi fare altro che copiare e incollare il codice di una funzione e richiamarla quando vuoi.
    Questo se devi controllare la validità di un indirizzo.
    Se invece, come ha detto saitfainder, devi verificare che chi si registra sia realmente "in possesso" di quella e-mail ti consiglio di dare un'occhiata a questo script di registrazione-login

    Ciao!

  6. #6
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Ti ho linkato una guida semplicissima dove non devi fare altro che copiare e incollare il codice di una funzione e richiamarla quando vuoi.
    Questo se devi controllare la validità di un indirizzo.
    Se invece, come ha detto saitfainder, devi verificare che chi si registra sia realmente "in possesso" di quella e-mail ti consiglio di dare un'occhiata a questo script di registrazione-login

    Ciao!
    la guida che mi hai linkato l'ho guardata ma non riesco a capire come settarla :(
    a me non interessa verificare che l'utente sia veramente in possesso della mail....ma la vera validità dell'indirizzo mail scelto

  7. #7
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Inserisci questo codice all'inizio della pagina:
    Codice PHP:
    function validateEmail$email$domainCheck true$verify true ) {
        
    // Verifica sintassi con espressione regolare
        
    if ( preg_match('/^([a-zA-Z0-9\._\+-]+)\@((\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,7}|[0-9]{1,3})(\]?))$/'$email$matches) ) {
            
    $user $matches[1];
            
    $domain $matches[2];
     
            
    // Verifica se esiste un record MX
            
    if ( $domainCheck && function_exists('checkdnsrr') ) {
            
    // Creo un array con i mailserver disponibili
                
    if ( getmxrr($domain$mxhosts$mxweight) ) {
                    for ( 
    $i 0$i count($mxhosts); $i++ ){
                        
    $mxs[$mxhosts[$i]] = $mxweight[$i];
                    }
                    
    asort($mxs);
                    
    $mailers array_keys($mxs);
                } else if( 
    checkdnsrr($domain'A') ) {
                    
    $mailers[0] = gethostbyname($domain);
                } else {
                    
    $mailers=array();
                }
     
                 
    $total count$mailers );
     
                 
    // Interrogo ogni mailserver
                
    if ( $total && $verify ) {
                    
    // Verifico se il mailserver accetta posta
                    
    for ( $n 0$n $total$n++ ) {
                        
    // Impostazioni socket
                        
    $connect_timeout 2;
                        
    $errno 0;
                        
    $errstr 0;
                        
    // Indirizzo email di autenticazione
                        
    $probe_address 'vostra_email@vostrodominio.it';
     
                        
    // Provo la connessione socket
                        
    if ( $sock = @fsockopen($mailers[$n], 25$errno $errstr$connect_timeout) ) {
                            
    $response fgets($sock);
                            
    stream_set_timeout($sock45);
                            
    $meta stream_get_meta_data($sock);
                            
    $cmds = array(
                                    
    "HELO vostrodominio.it",  // Deve essere impostato correttamente!
                                    
    "MAIL FROM: <" $probe_address ">",
                                    
    "RCPT TO: <" $email ">",
                                    
    "QUIT",
                                );
     
                            
    // Errore di connessione
                            
    if ( ! $meta['timed_out'] && ! preg_match('/^2\d\d/'$response) ) {
                                
    $error "Errore: <span>" $mailers[$n] . "</span> dice <span>" $response "</span>\n";
                                break;
                            }
     
                            foreach ( 
    $cmds as $cmd ) {
                                
    $before microtime(true);
                                
    fputs($sock"$cmd\r\n");
                                
    $response fgets($sock4096);
                                
    $t 1000*(microtime(true)-$before);
                                if ( ! 
    $meta['timed_out'] && preg_match('/^5\d\d/'$response) ) {
                                    
    $error "Indirizzo non verificato: <span>" $mailers[$n] . "</span> dice <span>" $response "</span>\n";
                                    break 
    2;
                                }
                            }
                            
    fclose($sock);
                            break;
                        } else if ( 
    $n == $total-) {
                            
    $error $domain ": Nessun mailserver per il dominio specificato può essere contattato";
                        }
                    }
                } else if ( 
    $total <= ) {
                    
    $error "Nessun DNS record utilizzabile per il dominio <span>" $domain "</span>";
                }
            }
        } else {
            
    $error "Errore di sintassi: indirizzo email non corretto";
        }
     
        return ( isset( 
    $error ) ? $error "Indirizzo email valido!" );

    Mentre, nel punto in cui vuoi stampare il risultato, inserisci:
    Codice PHP:
    echo validateEmail("indirizzo@server.ext"); 
    Ciao!

  8. #8
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,714

    Predefinito

    Citazione Originalmente inviato da fabiovergotti Visualizza messaggio
    a me non interessa verificare che l'utente sia veramente in possesso della mail....ma la vera validità dell'indirizzo mail scelto
    In pratica è la stessa cosa. Per sapere se esiste devi inviare una mail e siccome non puoi verifica l'esito della consegna quello proposto è l'unico modo di realizzare la cosa.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  9. #9
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Inserisci questo codice all'inizio della pagina:
    Codice PHP:
    function validateEmail$email$domainCheck true$verify true ) {
        
    // Verifica sintassi con espressione regolare
        
    if ( preg_match('/^([a-zA-Z0-9\._\+-]+)\@((\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,7}|[0-9]{1,3})(\]?))$/'$email$matches) ) {
            
    $user $matches[1];
            
    $domain $matches[2];
     
            
    // Verifica se esiste un record MX
            
    if ( $domainCheck && function_exists('checkdnsrr') ) {
            
    // Creo un array con i mailserver disponibili
                
    if ( getmxrr($domain$mxhosts$mxweight) ) {
                    for ( 
    $i 0$i count($mxhosts); $i++ ){
                        
    $mxs[$mxhosts[$i]] = $mxweight[$i];
                    }
                    
    asort($mxs);
                    
    $mailers array_keys($mxs);
                } else if( 
    checkdnsrr($domain'A') ) {
                    
    $mailers[0] = gethostbyname($domain);
                } else {
                    
    $mailers=array();
                }
     
                 
    $total count$mailers );
     
                 
    // Interrogo ogni mailserver
                
    if ( $total && $verify ) {
                    
    // Verifico se il mailserver accetta posta
                    
    for ( $n 0$n $total$n++ ) {
                        
    // Impostazioni socket
                        
    $connect_timeout 2;
                        
    $errno 0;
                        
    $errstr 0;
                        
    // Indirizzo email di autenticazione
                        
    $probe_address 'vostra_email@vostrodominio.it';
     
                        
    // Provo la connessione socket
                        
    if ( $sock = @fsockopen($mailers[$n], 25$errno $errstr$connect_timeout) ) {
                            
    $response fgets($sock);
                            
    stream_set_timeout($sock45);
                            
    $meta stream_get_meta_data($sock);
                            
    $cmds = array(
                                    
    "HELO vostrodominio.it",  // Deve essere impostato correttamente!
                                    
    "MAIL FROM: <" $probe_address ">",
                                    
    "RCPT TO: <" $email ">",
                                    
    "QUIT",
                                );
     
                            
    // Errore di connessione
                            
    if ( ! $meta['timed_out'] && ! preg_match('/^2\d\d/'$response) ) {
                                
    $error "Errore: <span>" $mailers[$n] . "</span> dice <span>" $response "</span>\n";
                                break;
                            }
     
                            foreach ( 
    $cmds as $cmd ) {
                                
    $before microtime(true);
                                
    fputs($sock"$cmd\r\n");
                                
    $response fgets($sock4096);
                                
    $t 1000*(microtime(true)-$before);
                                if ( ! 
    $meta['timed_out'] && preg_match('/^5\d\d/'$response) ) {
                                    
    $error "Indirizzo non verificato: <span>" $mailers[$n] . "</span> dice <span>" $response "</span>\n";
                                    break 
    2;
                                }
                            }
                            
    fclose($sock);
                            break;
                        } else if ( 
    $n == $total-) {
                            
    $error $domain ": Nessun mailserver per il dominio specificato può essere contattato";
                        }
                    }
                } else if ( 
    $total <= ) {
                    
    $error "Nessun DNS record utilizzabile per il dominio <span>" $domain "</span>";
                }
            }
        } else {
            
    $error "Errore di sintassi: indirizzo email non corretto";
        }
     
        return ( isset( 
    $error ) ? $error "Indirizzo email valido!" );

    Mentre, nel punto in cui vuoi stampare il risultato, inserisci:
    Codice PHP:
    echo validateEmail("indirizzo@server.ext"); 
    Ciao!
    sto seguendo questa guida (script registrazione)
    ma come posso modificare la realizzazione del codice capthca rendendola a più font?

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    10,242

    Predefinito

    Non lo capisci dal sorgente?

    Codice PHP:
    imagettftext
                    
    $image//immagine 
                    
    15,  //dimensione carattere 
                    
    rand(-55), //angolo di rotazione 
                    
    10+rand(-10,10), //offset sulla x 
                    
    30//offset sulla y 
                    
    $nero//colore 
                    
    './caratteri/arial.ttf'//font
                    
    $testo //da stampare 
                
    ); 
    Ah, se vuoi fare ogni lettera con un font diverso, allora (penso) devi scrivere lettera per lettera, scegliendo ogni volta il font.

    Ciao!

  11. #11
    fabiovergotti non è connesso Utente
    Data registrazione
    18-02-2013
    Messaggi
    249

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non lo capisci dal sorgente?



    Ah, se vuoi fare ogni lettera con un font diverso, allora (penso) devi scrivere lettera per lettera, scegliendo ogni volta il font.

    Ciao!
    si cambiare il font lo avevo fatto..intendevo ogni lettera di un font diverso...
    Ultima modifica di fabiovergotti : 23-01-2014 alle ore 20.12.12

  12. #12
    VaniaRupeni non è connesso Neofita
    Data registrazione
    26-10-2005
    Messaggi
    12

    Predefinito

    A me questo script su altervista non funziona, a voi si?

Regole di scrittura

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