Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Abfrageformat von DNS (https://www.delphipraxis.net/17699-abfrageformat-von-dns.html)

Meflin 8. Mär 2004 18:13


Abfrageformat von DNS
 
Hi,
ich versuche so den mailserver rauszubekommen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
a: TMXRecord;
DNSResult: string;
begin
  try
    DNS.Resolve('http://www.domain.de');
  except
     DNS.QueryResult.Clear;
  end;
  if DNS.QueryResult.Count > 0 then
    for I := 0 to Pred(DNS.QueryResult.Count) do
      if DNS.QueryResult.Items[I] is TARecord then begin
        A := (DNS.QueryResult.Items[I] as TMXRecord);
        DNSResult := DNSResult + A.ExchangeServer + ',';
      end;
      ShowMessage(DNSResult);
end;
da bekomme ich eine exeption das abfrageformat wäre ungültig (meldet der server). also
Delphi-Quellcode:
http://www.domain.de
aber wie soll ichs denn dann abfragen???

*MFG*

Basilikum 8. Mär 2004 18:29

Re: Abfrageformat von DNS
 
so ist's besser:
Delphi-Quellcode:
[..]
try
  DNS.Resolve('domain.de');
except
[..]

Meflin 8. Mär 2004 18:35

Re: Abfrageformat von DNS
 
immernoch :(

Basilikum 8. Mär 2004 18:43

Re: Abfrageformat von DNS
 
vor dem Resolve() brauchts noch:
Delphi-Quellcode:
DNS.QueryRecords:=[qtMX];

Meflin 8. Mär 2004 18:47

Re: Abfrageformat von DNS
 
jetzt gibts ne ungültige typenumwandlung beim a := ... !??? :gruebel:

Basilikum 8. Mär 2004 18:51

Re: Abfrageformat von DNS
 
es sollte nicht is TARecord sondern TMXRecord heissen:
Delphi-Quellcode:
[..]
if DNS.QueryResult.Items[I] is TMXRecord then begin
  A := (DNS.QueryResult.Items[I] as TMXRecord);
  DNSResult := DNSResult + A.ExchangeServer + ',';
end;
[..]

Meflin 8. Mär 2004 18:52

Re: Abfrageformat von DNS
 
:wall: aber das ergebnis ist leer!?

Basilikum 8. Mär 2004 18:54

Re: Abfrageformat von DNS
 
bei welcher Domain ? es gibt selbstverständlich Domains, die keine MX-Einträge haben....

mit
Code:
C:\> nslookup -querytype=mx domain.de
kannst Du überprüfen, ob MX-Einträge vorhanden wären... (domain.de hat keine, google.de jedoch schon)

Meflin 8. Mär 2004 18:56

Re: Abfrageformat von DNS
 
auch bei google.de bleibt die messagebox leer... :(

Basilikum 8. Mär 2004 19:33

Re: Abfrageformat von DNS
 
hm... bei mir funzt der Code.... AllowRecursiveQueries ist true, oder ?

Meflin 10. Mär 2004 18:33

Re: Abfrageformat von DNS
 
ja ist true. aber da kommt nix!!!

Meflin 11. Mär 2004 15:10

Re: Abfrageformat von DNS
 
woran könnte es denn sonst noch hängen?

Basilikum 11. Mär 2004 15:31

Re: Abfrageformat von DNS
 
was für einen DNS-Server verwendest Du ?
gib allenfalls mal andere Record-Typen aus, zum debugen....

Meflin 11. Mär 2004 15:35

Re: Abfrageformat von DNS
 
ich verwende 194.25.2.131
aber er meldet wenn ichs wärend des debuggens probier eine ungültige typenumwandlung bei
a := DNS.QueryResult.Items[I] as TMXRecord;

Meflin 11. Mär 2004 16:08

Re: Abfrageformat von DNS
 
ich habs endlich! bei google krieg ich z.b. smtp1.google.com, smtp3.google.com, smtp2.google.com. das klingt ja verdächtig nach smtp servern :wink: aber ich brauch doch nen pop3 server auf dem ich die nachrichten ablegen kann oder irre ich mich da?

Basilikum 11. Mär 2004 16:16

Re: Abfrageformat von DNS
 
dieser Server lässt (zumindest von meinem IP-Range aus) keine rekursiven Anfragen zu.... (No Recursion available)
sprich: die Antwort enthält immer nur NS-Einträge mit anderen DNS-Servern, die für die korrekte Beantwortung der Anfrage zuständig sind... verwende einmal testweise einen anderen Server (Start -> Ausführen -> ipconfig /all -> DNS Server: .....)

um andere Records auszugeben, müssen diese auch als solche behandelt werden... z.B.
Delphi-Quellcode:
[..]
if (DNS.QueryResult.Items[I] is TNSRecord) then begin
  NSR:=DNS.QueryResult.Items[I] as TNSRecord
  [..]
end else if (DNS.QueryResult.Items[I] is TARecord) then begin
  AR:=DNS.QueryResult.Items[I] as TARecord
  [..]
end else [..]

Meflin 11. Mär 2004 16:36

Re: Abfrageformat von DNS
 
dns3.de.colt.net funktioniert


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz