Angenommen, meine E-Mail-Adresse ist [email protected]
und ich möchte überprüfen, ob yahoo.com
eine gültige Domain ist oder nicht.
Kann mir jemand sagen, welche Java API ich dafür verwenden kann?
InetAddress
hat getByName()
Methode zum Ermitteln der IP-Adresse eines Hosts unter Angabe des Hostnamens.
Wenn keine IP-Adresse für den Host gefunden werden konnte (falls der angegebene Hostname nicht gültig ist), UnknownHostException
wird geworfen.
Sie versuchen also, UnknownHostException
zu fangen, wenn Sie InetAddress.getByName()
aufrufen. Wenn UnknownHostException
abgefangen wird, bedeutet dies, dass der eingegebene Hostname ungültig ist.
Eine andere Möglichkeit besteht darin, das MX der entred-Domain zu überprüfen.
Es ist keine Java-API, aber Sie können die HTML-Antwort immer analysieren.
Es bedeutet, wenn der Anbieter des Mail-Dienstes nicht auf der schwarzen Liste steht, könnte es sicher und eine echte Adresse sein.
Aber wie bereits gesagt, könnte ein Server immer Sicherheitsbeschränkungen für solche Dienste definieren.
Ein weiterer Punkt, einige Dienste existieren, um temporäre E-Mails zu liefern (mailinator.com, jetable.org, und so weiter ...) Sie müssen diese Domains auch überprüfen, wenn Sie verhindern wollen, dass sich ein Benutzer mit einer solchen E-Mail registriert .
AKTUALISIEREN
Ich habe eine nützliche REST-API gefunden , die kostenlos zu sein scheint, solange Sie eine begrenzte Anzahl von Anfragen verwenden.
Ein Beispiel: Ссылка gibt JSON zurück:
%Vor%Tags und Links java