Asp.Net проверка MX домена

Частенько в при создании мало мальски больших веб приложений, приходиться возиться с пользователями, в частности с регистрацией, и отсеиванием всякого рода ботов. Поступила задача проверки MX записей домена, email которого пользователь выдает за свой.Да конечно можно отсылать email для подтверждения регистрации – но мы ведь никогда не ищем простых путей.

Дале сам пример:

string email = txtEmail.Text;
string[] parts = email.Split('@');
email = parts[parts.Length-1];
string command = "nslookup -type=MX " + email;
try
{
    System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
    procStartInfo.RedirectStandardOutput = true;
    procStartInfo.UseShellExecute = false;
    procStartInfo.CreateNoWindow = true;
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo = procStartInfo;
    proc.Start();
    string result = proc.StandardOutput.ReadToEnd();

    string[] resparts = result.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
    if (resparts.Length == 2 && resparts[0].StartsWith("Server: ") && resparts[1].StartsWith("Address: ")) lblRes.Text = "Domain not exists";
    else if (result.Contains("Non-existent domain")) lblRes.Text = "Domain not exists";
    else if(result.Contains("DNS request timed out")) lblRes.Text = "Timeout";
    else lblRes.Text = "OK";

    lblRes.Text += "<br /><br />" + command;
}
catch (Exception objException)
{
    lblRes.Text = objException.Message;
}

Естественно, код "грязный" и требует доработки – но может стать отправной точкой для более изящных решений.