SYNAPSE - Synchronous TCP/IP Library for Delphi
Other related information can be found at http://www.ararat.cz/synapse/
DNS guide
Class: TDNSSend
RFC: 1035, 1183, 1706, 1712, 2163, 2230
Features:
- uses UDP queries.
- support for all standard resource records except WKS. (A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, PTR, HINFO, MINFO, MX and TXT)
- support non-standard resource records: RP, AFSDB, X25, ISDN, RT, NSAP, NSAPPTR, PX, GPOS and KX.
- special support for getting mail exchange servers (MX records) for easy use.
Typical use:
- In all cases you must have DNSsend in your uses.
- For simple query for Mail Exchanger (MX), use function GetMailServers. Not need any more. This function create needed object, query DNS server for requested domain, get response, and presents result as stringlist of MX servers in order of preference numbers. Maximum preference server is first in list, minimum preference server is last in list.
- If you can query for any other resource, see example:
{you must create object for DNS session}
DNS:=DNSSend.Create;
try
{set address of DNS server}
DNS.DNSHost:=DNSHost;
{Querying DNS server...}
{QueryValue is string contains host name, domain name or IP address}
{QueryType is integer number or one of predefined constants }
if DNS.DNSQuery (QueryValue,QueryType,ResponseStringList) then
{in ResponseStringList is response. Each resource is one line.}
else
{error connecting to server or query error.}
;
finally
{destroy DNS object}
DNS.Free;
end;