Sample code for 30+ languages & platforms
B4X

DNS Query MX Records

See more DNS Examples

Shows how to perform a DNS query to retrieve MX records.

Note: This example requires Chilkat v9.5.0.96 or later.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

Dim dns As ChilkatDns
dns.Initialize("dns")

Dim json As ChilkatJsonObject
json.Initialize
json.EmitCompact = False

success = dns.Query("MX", "somebody@gmail.com", json)
If success = False Then
    Log(dns.LastErrorText)
    Return
End If


Log(json.Emit)

'  Sample response.
'  Parsing code below..

'  -------------------------------------------------------------------------------
'  Note: Chilkat will return the results sorted by "pref" from lowest to highest.
'  -------------------------------------------------------------------------------

'  {
'    "answer": {
'      "mx": [
'        {
'          "name": "gmail.com",
'          "ttl": 491,
'          "pref": 5,
'          "domain": "gmail-smtp-in.l.google.com"
'        },
'        {
'          "name": "gmail.com",
'          "ttl": 491,
'          "pref": 10,
'          "domain": "alt1.gmail-smtp-in.l.google.com"
'        },
'        {
'          "name": "gmail.com",
'          "ttl": 491,
'          "pref": 20,
'          "domain": "alt2.gmail-smtp-in.l.google.com"
'        },
'        {
'          "name": "gmail.com",
'          "ttl": 491,
'          "pref": 30,
'          "domain": "alt3.gmail-smtp-in.l.google.com"
'        },
'        {
'          "name": "gmail.com",
'          "ttl": 491,
'          "pref": 40,
'          "domain": "alt4.gmail-smtp-in.l.google.com"
'        }
'      ]
'    }
'  }

'  Use this online tool to generate parsing code from sample JSON: 
'  Generate Parsing Code from JSON

Dim name As String
Dim ttl As Int
Dim pref As Int
Dim domain As String

Dim i As Int = 0
Dim count_i As Int = json.SizeOfArray("answer.mx")
Do While i < count_i
    json.I = i
    name = json.StringOf("answer.mx[i].name")
    ttl = json.IntOf("answer.mx[i].ttl")
    pref = json.IntOf("answer.mx[i].pref")
    domain = json.StringOf("answer.mx[i].domain")
    i = i + 1
Loop