Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Gibt es einen Webservice oder eine Datenbank im Web für alle Top-Level Domains?

Frage Entwicklung Datenbanken

Mitglied: Rene1976

Rene1976 (Level 1) - Jetzt verbinden

29.07.2014 um 17:06 Uhr, 1923 Aufrufe, 15 Kommentare

Hallo,

Wir haben in unserer Kunden-Datenbank eine Menge E-Mail Adressen, leider auch mit Tippfehlern bei der Top-Level-Domain.

Da MX-Record Abfragen häufig nicht zufriedenstellend funktionieren, wollen wir zumindest die Fehler in der Top-Level-Domain Endung bereinigen.

Mittlerweile gibt es aber unzählige von .de, .com bis .mobil, . xyz usw.

Man kommt da schon gar nicht mehr hinterher, geschweige denn ein Mitarbeiter.

Frage:
Gibt es im Internet irgendwo eine Datenbank, Verzeichnis, Web-Service den man real-time Fragen kann, bzw. wo man sich die Endung regelmäßig zum verarbeiten herunterladen kann?

Wenn jemand weitere schaue funktionierende E-Mail Validierungen kennt wäre ich auch dankbar.
Wir setzen bis jetzt regular expression, und Bounce-Auswertungen ein.
Bei MX-Record Abfragen bekommen wir leider zu oft falsche aussagen, vor allem bei den großen Provider wie .gmx etc., da diese solche Abfragen nicht zulassen.

Besten Dank,

Rene
Mitglied: colinardo
29.07.2014, aktualisiert um 19:25 Uhr
Hallo Rene,
http://www.iana.org/domains/root/db
Die IANA bietet auch einen WHOIS Service auf Port 43 an: whois.iana.org. Diesen kann man mit Anfragen füttern, und bekommt dann eine entsprechende Rückmeldung.
Für die Abfrage kannst du z.B. folgendes Powershell-Script verwenden: http://poshcode.org/4405

Oder ein vereinfachtes Script das je nach Erfolg True oder False zurückgibt:
01.
function get-tld { 
02.
  <# 
03.
  .SYNOPSIS 
04.
    Query IANA ROOT-TLD Whois Server 
05.
  .DESCRIPTION 
06.
    Check if a TLD exists. If YES the function returns TRUE otherwise FALSE. On Error it returns "ERROR" 
07.
  .EXAMPLE 
08.
    get-tld -query "de" 
09.
  .PARAMETER query 
10.
    The TLD to search 
11.
  #> 
12.
    param( 
13.
        [parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$query 
14.
15.
    end{ 
16.
        Try { 
17.
            $query = $query.Trim() 
18.
            $client = new-object System.Net.Sockets.TcpClient "whois.iana.org",43 
19.
            $stream = $client.GetStream() 
20.
            $data = [System.Text.Encoding]::Ascii.GetBytes($query + "`r`n") 
21.
            $stream.Write($data,0,$data.Length) 
22.
            $reader = New-Object System.IO.StreamReader $stream, [System.Text.Encoding]::ASCII 
23.
            $response = $reader.ReadToEnd() 
24.
            if ($response -match 'This Query returned (\d+) objects?'){ 
25.
                if ([int]$matches[1] -gt 0 ){ 
26.
                    $response 
27.
                    $result = $true 
28.
                }else{ 
29.
                    Write-host "Die TLD '$query' existiert nicht!" -ForegroundColor Yellow 
30.
                    $result = $false 
31.
32.
            }else{ 
33.
                $response 
34.
                $result = "ERROR" 
35.
36.
37.
        catch [System.Exception] { 
38.
            write-host $_ -ForegroundColor Red 
39.
            $result = "ERROR" 
40.
41.
        finally{ 
42.
            $stream.Close() 
43.
            $stream.Dispose() 
44.
            $client.Close() 
45.
            $client.Dispose() 
46.
47.
        return $result 
48.
49.
}
Die Function lässt sich dann mit der TLD als Parameter aufrufen, und liefert $true zurück wenn die TLD gefunden wurde, ansonsten $false. Bei einem Fehler liefert sie "ERROR" zurück.
get-tld "de"
Grüße Uwe
Bitte warten ..
Mitglied: Rene1976
30.07.2014 um 12:10 Uhr
Hi Uwe,

danke für den Tipp.
Das bringt uns in der Bereinigung und Validierung der neuen und existierenden E-Mails schon einen Schritt weiter.
Kennst du zufällig noch weitere Möglichkeiten E-Mail zu validieren, außer die oben genannten?

Regular Expression sind zwar schon recht gut, kann aber nicht vor Tippfehlern schützen.
Wie kann ich gewährleisten, dass die E-Mail die der Kunden uns z.B über ein Web-Formular schickt auch richtig ist und in diesem Moment auch erreichbar ist.

Wir haben mittlerweile auch viele Schreibvarianten und Fehler von z.B. t-online.de gefunden.

Welche Möglichkeiten gibt es die Domain auf Richtigkeit zu überprüfen?

Ist der folgende Vorschlag sinnvoll?

1. Entfernen des E-Mail-Teils vor und mit dem @ Zeichen (nur noch die Domain bleibt übrig)
2. Abfrage der Website der Domain
3. Return-Wert true oder false wenn Domain existiert oder nicht existiert

Problem: Was passiert wenn der Server gerade offline ist?

Eine Abfrage bei NIC auf Existenz des Domainnamen wäre wahrscheinlich besser, allerdings müßte man jedes Land einzeln abfragen, oder?
Gibt es von NIC auch weltweite (über alle Top-Level-Domains) Abfragemöglichkeiten?

Oder gibt es eine .Net Komponente die dies zuverlässig macht.

Wir programmieren in C# und VB.Net

Besten Dank,

Rene
Bitte warten ..
Mitglied: colinardo
30.07.2014, aktualisiert um 15:42 Uhr
Da gibts ne ganze Latte an Webservices: http://blog.mashape.com/list-of-25-email-validation-apis/
Bitte warten ..
Mitglied: opalka
31.07.2014, aktualisiert um 11:46 Uhr
Hallo,

eventuell ein nslookup auf die Domain?

nslookup mit C#

Gruß
Bitte warten ..
Mitglied: Rene1976
31.07.2014, aktualisiert um 18:33 Uhr
Hallo opalka,

das ist eine ganz gute Idee und funktioniert auch (fast).

Hab mit der Methode leider z.T. Probleme mit subdomains die in E-Mail Adressen stecken wie z.B.:

Diese funktioniert nicht:
abo.freiepresse.de

Ohne Subdomain funktioniert´s:
www.freiepresse.de

Bei dieser Subdomain funktioniert es auf Anhieb:
abdsb.bayern.de

Warum geht es bei einer Subdomain und bei der anderen nicht?

Zumindest komme ich meinen Tippfehlern schon ein Stück näher an den Kragen.
Leider noch nicht ausreichend.

Kennt jemand noch einen Trick?
Wie gesagt, in diesem Schritt muss die E-Mail Adresse nicht auf Erreichbarkeit überprüft werden, sondern erst einmal nur die Tippfehler behoben werden, die durch regular expression nicht erkannt werden können.

Wenn man später noch die Echtheit und Erreichbarkeit von E-Mail Adressen prüfen kann wäre das super - oder ggf. unmöglich (da Fehlerquelle zu hoch ist)

Gruß,

Rene
Bitte warten ..
Mitglied: opalka
31.07.2014 um 18:48 Uhr
Weil abo.freiepresse.de keine existierende Domain ist. Vielleicht war sie früher es mal, nun aber nicht mehr. Vielleicht gab es eine Umstrukturierung bei der Freien Presse. Diese Adresse müsste also auf jeden Fall überprüft werden.
Bitte warten ..
Mitglied: Rene1976
31.07.2014 um 19:47 Uhr
Du meinst diese Subdomain gibt es überhaupt nicht mehr?

Sind Subdomains generell auch bei den öffentlichen DNS Servern registriert oder nur die Haupt-Domain und diese löst dann die Subdomain auf dem eigenen Server selber auf?

Wie geht das mit den Subdomains genau?

Gruß,

Rene
Bitte warten ..
Mitglied: opalka
31.07.2014 um 20:17 Uhr
Jein, wenn sie von aussen erreichbar sein sollen, dann müssen sie schon im öffentlichen DNS registriert sein. Muss ja kein Webserver hinterstecken, kann ja auch ne reine Maildomain sein. freiepresse ist ja auch nur ne Subdomain von der Top-Level-Domain .de
Bitte warten ..
Mitglied: opalka
31.07.2014 um 20:26 Uhr
Um die Echheit einer Mailadresse zu überprüfen, bleibt am Ende leider nur eine Mail an die Adresse zu schicken. Wenn sie nicht existiert oder fehlerhaft ist, bekommt man einen Unzustellbarkeitsbericht, den man auswerten könnte, allerdings würde man die echten Mailadressen vollspammen, was nicht sehr seriös wäre.
Bitte warten ..
Mitglied: colinardo
31.07.2014, aktualisiert um 20:39 Uhr
Ich würde hier, wenn es um eine Registrierung geht, eher zum Opt-IN Opt-Out Verfahren mit einer Bestätigungsmail an
den Kunden greifen, dann brauchst du diese Überprüfungsroutine der Mailadresse nicht. Der Kunde muss auf einen Link in der Mail klicken um den Dienst zu aktivieren.

Filtere die Mails grob aus, und lass den Rest so, ist doch kein Problem wenn die ins Nirvana laufen. Diese Mailadressen kannst du dann aus den Logs fischen, korrigieren, feddich.

Grüße Uwe
Bitte warten ..
Mitglied: Rene1976
01.08.2014, aktualisiert um 16:05 Uhr
Hier geht es nicht um Registierung von z.B. Newslettern.
Bei uns kommen die E-Mails auch offline über ausfüllen von Verträgen oder per Telefon vom Kunden an.
Auch in unseren Web-Formularen wird bei einer Bestellung nicht nach einer Opt-in Bestätigung gefragt.
Das könnte den Kunden ebenfalls abschrecken, bzw. den Bestellprozess umständlicher machen.

Opt-In gibt es bei uns nur im Newsletter.

Das mit den Bounce E-Mail ist auch so eine Sache.
Oft schicken die Provider ein Hard-Bounce zurück "E-Mail existiert nicht", z.B. wenn ein Kunde länger nicht in seinem Free-Account drin war.
Der Account wird dann beim Provider ggf. deaktiviert, aber er kann vom Kunden wieder reaktiviert werden, sobald er sich wieder zum ersten Mal einloggt.
Dann ist oftmals der Inhalt weg, aber die E-Mail Adresse ist wieder erreichbar.

Alle Bounce Varianten auszuwerten ist auch eine sportliche Aufgabe

Wir löschen erst eine Adresse nachdem Sie über einen längeren Zeitraum mehr als X-mal als Hard-Bounce zurückkommt.
Natürlich sind davon die E-Mail Provider auch nicht begeistert, da Sie echte Hard-Bounce mehrfach zurückweisen müssen.

Leider fällt uns bis jetzt nichts besseres ein.

P.S:
Kann mir jemand sagen was der Unterschied zwischen PING und NSLOOKUP ist?

Gruß,

Rene
Bitte warten ..
Mitglied: opalka
04.08.2014 um 08:46 Uhr
nslookup fragt beim DNS-Server nach, welche IP-Adresse eine Domain hat bzw. welche Domain zu einer IP-Adresse gehört. Während ping ein Request an den Server schickt um zu schauen, ob er erreichbar ist.
Bitte warten ..
Mitglied: Rene1976
04.08.2014 um 09:37 Uhr
Letztendlich kommt doch beides auf das gleich raus.
Beide Varianten liefern mir eine IP-Adresse zurück wenn die Domain existiert.
Ich sehe keine Vor- oder Nachteil zwischen beiden Varianten, oder gibt es einen?
Bei Ping wird noch die Zeit gemessen.
Könnte man die Zeitmessung mit einer .Net Abfrage auch abbrechen?

Bei meinem Tests mit Ping ging das auch mit Subdomains von Google Maps und Apple iTunes.
Sind dann umgekehrt Subdomains die nicht erreicht werden können nicht mehr existent / tod.
Wenn ich dann E-Mails mit NICHT erreichbaren Subdomains über Ping haben, könnte ich diese dann definitiv als alte nicht erreichbare E-Mails löschen?

Gruß,

Rene
Bitte warten ..
Mitglied: opalka
04.08.2014 um 10:13 Uhr
Na ja, nslookup verhält sich zu ping wie Telefonbuch zu Telefon. Wenn ich im Telefonbuch nach der Nummer von Herrn Müller nachschaue, dann weis ich zwar das er die Nummer 12345 hat, aber erst mit dem Telefon kann ich überprüfen, ob er auch wirklich erreichbar ist.

Mit nslookup überprüfe ich erst einmal, ob überhaupt die Domain existiert, bevor ich Datenpakete wild durch die Gegend schicke.
Bitte warten ..
Mitglied: colinardo
04.08.2014, aktualisiert um 14:25 Uhr
Wenn ich dann E-Mails mit NICHT erreichbaren Subdomains über Ping haben, könnte ich diese dann definitiv als alte nicht erreichbare E-Mails löschen?
PING(ICMP)-Anfragen kann ein Admin auf seiner Firewall blockieren, damit kannst du also keine richtige Aussage treffen !! Versuch mal administrator.de zu pingen , das wird hier nämlich blockiert. Nehme entweder einen dieser Webservices, oder checke selber mit C# etc. im DNS ob ein Mailexchanger für den Domainteil der Mailadresse definiert ist oder nicht, ganz einfach. Was anderes machen diese Dienste auch nicht. Die Überprüfung des MX Eintrags ist die einzig wahre Überprüfungsmethode für Mailadressen.

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Router & Routing
Neue Top Level Domain .box bringt manche Netze durcheinander (1)

Link von magicteddy zum Thema Router & Routing ...

Router & Routing
Neue Top Level Domain .box bringt manche Fritzbox-Netze durcheinander (3)

Link von mikrotik zum Thema Router & Routing ...

Firewall
gelöst Gibt es ein fertiges Web-Tunnel-Gateway? (27)

Frage von StefanKittel zum Thema Firewall ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...