Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$dns = New-Object Chilkat.Dns
$json = New-Object Chilkat.JsonObject

$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).
$success = $dns.Query("MX",$emailAddr,$json)
if ($success -eq $false) {
    $($dns.LastErrorText)
    exit
}

$i = 0
$count_i = $json.SizeOfArray("answer.mx")
while ($i -lt $count_i) {
    $json.I = $i
    $domain = $json.StringOf("answer.mx[i].domain")
    $($domain)
    $i = $i + 1
}