2012-11-19 12 views
6

C'è un modo per verificare dove l'ID e-mail esiste nel dominio o no?come verificare che l'ID e-mail esistano nel dominio senza inviare messaggi usando java

Ho la seguente funzione: controlla solo per dominio valido, ma ho bisogno di verificare l'indirizzo email valido nel dominio senza inviare mail.

public boolean isValidEmailAddress(String email) { 
    boolean result = true; 

    try { 
     InternetAddress emailAddr = new InternetAddress(email); 
     emailAddr.validate(); 

    } catch (AddressException ex) { 
     result = false; 
    } 
    return result; 
} 
+0

Intendi le e-mail dalla tua organizzazione interna? In tal caso, sarebbe utile conoscere il server di posta utilizzato. – SJuan76

risposta

1

Suona come è necessario il SMTP VRFY command:

Questo comando richiedere che il server SMTP ricevente verificare che un determinato nome utente e-mail è valido. Il server SMTP risponderà con il nome di accesso dell'utente. Questa funzione può essere disattivata in sendmail perché consentire l'accesso può essere un buco di sicurezza. I comandi VRFY possono essere utilizzati per sondare i nomi di accesso su un sistema. Vedere la sezione di sicurezza sotto per informazioni su come disattivare questa funzione.

Nota i problemi di sicurezza sopra però.

+0

Grazie Brian Agnew per la tua risposta. Ma come usare questo comando nella funzione java. – ashu

+0

È possibile creare una connessione alla porta 25 sul server SMTP (provare con telnet) e fare semplicemente 'indirizzo VRFY' –

4

Ecco un codice sorgente che potrebbe fare molti tipi di verifica, ho usato per anni:

http://www.rgagnon.com/javadetails/java-0452.html

Nota: vedere la funzione isAddressValid() nella pagina per la convalida completa.

+0

Grazie Alexandre Lavoie per la tua risposta. Ho fatto riferimento al tuo link che controlla solo per dominio valido ma non controlla per valido indirizzo email . – ashu

+0

La funzione isAddressValid() esegue tutto il test, tenta anche di connettersi al server SMTP come @Brian Agnew detto. Ma usa con cautela, non sempre funziona! Generalmente convalido solo la sintassi e-mail, l'esistenza del dominio e l'esistenza di MX in quel dominio. –