Sample code for 30+ languages & platforms
C#

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 C# Downloads

C#
bool success = false;

Chilkat.Dns dns = new Chilkat.Dns();

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.EmitCompact = false;

success = dns.Query("MX","somebody@gmail.com",json);
if (success == false) {
    Debug.WriteLine(dns.LastErrorText);
    return;
}

Debug.WriteLine(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

string name;
int ttl;
int pref;
string domain;

int i = 0;
int count_i = json.SizeOfArray("answer.mx");
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;
}