2012-11-19 27 views
6

Czy istnieje sposób sprawdzenia, gdzie identyfikator e-mail istnieje w domenie, czy nie?Jak sprawdzić, czy identyfikator e-mailowy istnieje w domenie bez wysyłania wiadomości e-mail za pomocą java

Mam następującą funkcję: sprawdza tylko poprawną domenę, ale muszę sprawdzić poprawny adres e-mail w domenie bez wysyłania żadnych wiadomości.

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

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

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

Masz na myśli e-maile z wewnętrznej organizacji? Jeśli tak, przydatna byłaby znajomość serwera pocztowego. – SJuan76

Odpowiedz

1

Brzmi jak trzeba się SMTP VRFY command:

Komenda ta zwróci się, że serwer SMTP odbiorczy sprawdzić, czy podana nazwa użytkownika e-mail jest nieprawidłowy. Serwer SMTP odpowie nazwą użytkownika o numerze . Ta funkcja może zostać wyłączona w sendmailie , ponieważ może to być luka w zabezpieczeniach. Komendy VRFY mogą być używane do sprawdzania nazw logowania w systemie pod numerem . Informacje na temat wyłączania tej funkcji można znaleźć w sekcji dotyczącej bezpieczeństwa poniżej: .

Uwaga powyższe problemy bezpieczeństwa.

+0

Dziękuję Brian Agnew za odpowiedź. Ale jak użyć tego polecenia w funkcji java. – ashu

+0

Możesz utworzyć połączenie z portem 25 na swoim serwerze SMTP (spróbuj za pomocą telnetu) i po prostu wykonaj "Adres VRFY" –

4

Oto kod źródłowy, który mógłby zrobić wiele rodzaj weryfikacji, używam go od lat:

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

Uwaga: patrz isAddressValid function() na stronie dla pełnej walidacji.

+0

Dziękuję Alexandre Lavoie za odpowiedź. Przekazałem twoje łącze, które sprawdza tylko dla ważnej domeny, ale nie sprawdza poprawności adres e-mail. – ashu

+0

Funkcja isAddressValid() wykonuje wszystkie testy, a także próbuje połączyć się z serwerem SMTP, jak powiedział @Brian Agnew. Ale używaj z rozwagą, nie zawsze działa! Ogólnie sprawdzam tylko poprawność składni wiadomości e-mail, istnienie domeny i istnienie MX w tej domenie. –

Powiązane problemy