Sample code for 30+ languages & platforms
PowerBuilder

MX Lookup Mail Server Domain by Email Address

How to find the mail server for a given email address. Returns the domain name of the primary mail server.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Dns
oleobject loo_Json
string ls_EmailAddr
integer i
integer li_Count_i
string ls_Domain

li_Success = 0

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Dns = create oleobject
li_rc = loo_Dns.ConnectToNewObject("Chilkat.Dns")
if li_rc < 0 then
    destroy loo_Dns
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

ls_EmailAddr = "bob@example.com"

// This gets all MX domains for an email address.  (Typically one domain.)
// The preferred domain will be at index 0 (see below).
li_Success = loo_Dns.Query("MX",ls_EmailAddr,loo_Json)
if li_Success = 0 then
    Write-Debug loo_Dns.LastErrorText
    destroy loo_Dns
    destroy loo_Json
    return
end if

i = 0
li_Count_i = loo_Json.SizeOfArray("answer.mx")
do while i < li_Count_i
    loo_Json.I = i
    ls_Domain = loo_Json.StringOf("answer.mx[i].domain")
    Write-Debug ls_Domain
    i = i + 1
loop


destroy loo_Dns
destroy loo_Json