• User Attivo

    Verificare esistenza indirizzi email

    Buonasera a tutti.

    So che esistono in giro diversi siti che permettono, almeno in teoria, di inserire uno o più indirizzi email e verificare la loro effettiva esistenza.

    Quello che vorrei sapere è se sono solitamente attendibili o, nel caso non lo siano, se conoscete invece un sito che offre seriamente questo servizio.

    Grazie


    I 1 Risposta
  • User Attivo

    @stronghold Ciao
    Dopo il #wmf2022 la pulizia degli indirizzi mail farlocchi è diventata una priorità.
    Io utilizzo https://www.acychecker.com e poi con acymailing enterprise cancello tutte le mail che rimbalzano per qualsiasi motivo.


  • User Attivo

    Qui trovi un piccolo tool che fa un controllo formale, poi controlla che esista un mailserver per quella email ed alla fine fa un check sul fatto che quella e-mail risponda.
    Mi raccomando è una semplice dimostrazione.. non abusarne prima che mi blocchino l'IP!
    https://massarutto.it/validate-email/

    Eccolo spiegato!

    Puoi fare un controllo formale sulla validità dell'indirizzo (anche con un semplice regexp in js)

    <!-- CAMPO INPUT PER EMAIL -->
    <input type="email" id="email" name="email" placeholder="Inserisci il tuo indirizzo E-Mail">
    
    <!--CSS PER EVIDENZIARE IL CAMPO IN CASO DI ERRORE -->
    <style>
    .has-error {
    	color: red;
    }
    .has-success {
    	color: green;
    }
    </style>
    
    <!-- JS per validazione campo -->
    <script>
    // REGEXP PER VALIDARE INDIRIZZO E-MAIL
    function isValidEmailAddress(emailAddress) {
    	var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
    	return pattern.test(emailAddress);
    }
    
    // ATTIVAZIONE CONTROLLO EMAIL SULLA MODIFICA DEL CAMPO (codice valido con Jquery)
    $(document).on('change, keyup', '#email', function(){
    	var inputvalue = $(this).val();
    	if( !isValidEmailAddress( inputvalue ) ) {
    		$("#email").removeClass('has-success');
    		$("#email").addClass('has-error');
    	} else {
    		$("#email").addClass("has-success")
    		$("#email").removeClass('has-error');
    	};
    	return false; 
    	}
    )
    </script>
    

    Una volta validata la mail in maniera formale, puoi solo fare un test per verificare che esista un record MX per il dominio (così controlli l'esistenza del server)

    Successivamente puoi provare a fare un check sulla email inviando un comando SMTP verso il server e abortendo appena hai una risposta.
    Questo metodo di verifica non è però sempre corretto, o comunque fattibile.

    Qui qualche info ed il componente che ti permette di implementare rapidamente https://www.chilkatsoft.com/p/p_235.asp

    Però, la domanda è: perché dovresti verificarli in questa maniera? Teoricamente dovresti inviare un messaggio con magari un link per confermare l'indirizzo.
    Facendo così otterresti con i bounce gli indirizzi non validi e le autorizzazioni del caso per continuare a scrivere al tuo contatto.

    A questo punto il controllo consigliato si limita al regexp e poi all'invio concreto.